Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Проблема с записью большого текста в MySQL
Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2011
Помог: 0 раз(а)
Доброго времени суток.
При записи строки в MySQL через PHP появляется пустой экран, и скрипт останавливается.
Продебажил, дело именно в большом тексте (примерно 10000 символов). Если уменьшить наполовину, то все срабатывает.
Через PhpMyAdmin вставляется весь текст.
Текст без HTML тегов, кавычек и т.д.
Подскажите, в чем может быть проблема?
Roler
Отправлено: 21 Июля, 2011 - 19:28:40
Посетитель
Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008 Откуда: Россия
Помог: 1 раз(а)
Тип поля в БД хоть укажите и сам текст запроса.
Что там у вас за данные, опять же.
BadSanta
Отправлено: 22 Июля, 2011 - 12:06:41
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2011
Помог: 0 раз(а)
Тип поля TEXT, но пробовал и LONGTEXT
Запрос: INSERT INTO pages (textFull) VALUES ('Большой текст').
Текст без кавычек, спец сиволов и т.д. Обычный текст-утка из 10000 символов.
Запрос рабочий. Если текс уменьшить, то запись проходит.
Может какие-то настройки MySQL надо поменять?
grefon
Отправлено: 22 Июля, 2011 - 12:40:39
Частый посетитель
Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010
Помог: 32 раз(а)
BadSanta, текст обрезается или он вообще не добавляется?
Если вообще не добавляется, то проэкранируйте его с помощью mysql_escape_string.
----- ____________________________________________________________________
Ну как то так, наверное. http://grefon[dot]com
BadSanta
Отправлено: 22 Июля, 2011 - 13:15:35
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2011
Помог: 0 раз(а)
Текст вообще не добавляется, и скрипт на этой записи останавливается - белый экран.
Экранировать пытался и обычным mysql_escape_string и зендовским quoteInto, результат такой же.
grefon
Отправлено: 22 Июля, 2011 - 13:34:18
Частый посетитель
Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010
VALUES('490','news','2004-08-30 11:20:54','','','Основной аргумент против','По данным американских исследователей женщины, пьющие сладкие газированные напитки каждый день больше подвержены заболеванию диабетом, чем те, которые пьют их несколько раз в месяц','','','','ДЛИННЫЙ ТЕКСТ','active')
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Настройку max_post_size проверьте.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
White
Отправлено: 25 Июля, 2011 - 10:28:35
Частый посетитель
Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011 Откуда: Днепропетровск
Помог: 28 раз(а)
10000 символов это не так уж и много, в UTF8 около 60кб, max_post_size по умолчанию 8Мб, так что вряд ли здесь проблема. длина longtext 4294967295 символа, так что проблемма не здесь так же. Я конечно очень сильно сомневаюсь, но вы не пытаетесь случайно получить fulltext через GET, а потом передать его в таблицу?
Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2011
Помог: 0 раз(а)
Задача состоит вообще в том, чтобы переместить некоторые данные из одной таблицы в другую.
Я делаю SELECT, выбираю нужные записи, и потом INSERT-ом записываю их в новую таблицу.
Записи с меньшим количеством символов записываються без проблем, а как только доходит до текста побольше, все вырубаеться. Если пропустить эту запись с большим текстом, скрипт идет дальше, пока не наткнется на следующий большой текст.
INSERT INTO `table1` (`field1`, `field2`) SELECT (`field3`, `field4`) FROM `table2` WHERE `id`="n"
----- if(time()>1356048000) die();
BadSanta
Отправлено: 25 Июля, 2011 - 11:19:50
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2011
Помог: 0 раз(а)
К сожалению в моей ситуации такой вариант не подходит, некоторые значения полей мне нужно изменить перед записью. Но почему то более чем уверен, что результат был бы таким же
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.