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 :: Данные не влезают в БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: не пишутся в таблицу
dmaw
Отправлено: 20 Февраля, 2010 - 16:19:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


Помог: 0 раз(а)




Кеширую страницу ob_start
Дальше хочу записать этот кеш в таблицу:
PHP:
скопировать код в буфер обмена
  1. $cache = ob_get_contents();
  2. mysql_query("INSERT INTO cache (cache) VALUES ('$cache')", $db);

Ошибка записи!
Пробовал укоротить кеш:

Данные записаны успешно!
Но как только в переменной симвовов больше, чем 1042, так данные перестают записываться в базу.
Пробовал форматы: text, longtext и longblob.
 
 Top
SDR
Отправлено: 20 Февраля, 2010 - 16:29:51
Post Id


Гость


Покинул форум
Сообщений всего: 72
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




млин.. всех посылать статьи про отладку читать чтоли..

1. что даёт echo $cache?
2. какой тип поля cache в БД
3. что возвращает mysql_query()?
4. что даёт mysql_error()?
 
 Top
dmaw
Отправлено: 20 Февраля, 2010 - 16:35:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


Помог: 0 раз(а)




SDR пишет:
1. что даёт echo $cache?

Выводит всю страницу как и положено.
SDR пишет:
2. какой тип поля cache в БД

Пробовал типы: text, longtext и longblob.
SDR пишет:
3. что возвращает mysql_query()?
4. что даёт mysql_error()?

Толком ответить не могу, но на странице никаких ошибок вообще нет!
 
 Top
Champion Супермодератор
Отправлено: 20 Февраля, 2010 - 17:46:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




dmaw пишет:
Ошибка записи!
Когда же вам в голову начнет приходить, что ТЕКСТ ОШИБКИ приводить надо дословно!
dmaw пишет:
Толком ответить не могу, но на странице никаких ошибок вообще нет!
Это что значит? Проверь!

а вообще cache может быть зарезервированным словом инадо его брать в обратные кавычки.
 
 Top
zloiia
Отправлено: 21 Февраля, 2010 - 10:55:37
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




dmaw, приведи результат примерно следующего куска кода

PHP:
скопировать код в буфер обмена
  1. $cache = ob_get_contents();
  2. echo mysql_query("INSERT INTO cache (cache) VALUES ('$cache')", $db) or die( mysql_error());


хоть на возвращаемые результаты посмотрим

(Отредактировано автором: 21 Февраля, 2010 - 10:56:19)

 
 Top
dmaw
Отправлено: 21 Февраля, 2010 - 11:09:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


Помог: 0 раз(а)




zloiia, вернулась ошибка: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'm1')" onMouseOut="hidemenu('m1')" class="mb"> <a href="#" style="background-ima' at line 1

У меня на странице есь выпадающее меню с js, похоже проблема в ковычках.
(Добавление)
Лекарство:
PHP:
скопировать код в буфер обмена
  1. $cache = str_replace("'","\'",$cache);//экранируем


Отредактировано модератором: JustUserR, 23 Февраля, 2010 - 18:33:11
Убрал лишние bb-теги
 
 Top
JustUserR
Отправлено: 23 Февраля, 2010 - 18:34:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




dmaw пишет:
Похоже проблема в ковычках
Перед сохранением данных в БД как правило необходимо обработать данные с помощью mysql_real_escape_string чтобы не было проблем со спецсимволами


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
dmaw
Отправлено: 23 Февраля, 2010 - 19:45:46
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


Помог: 0 раз(а)




JustUserR, спасибо!
 
 Top
JustUserR
Отправлено: 24 Февраля, 2010 - 18:29:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




dmaw пишет:
JustUserR, спасибо!
Пожалуйста! Кстати я предложил использовать вам именно функцию real_escape чтобы не было проблем с кодировкой при установленной локали - так что addslashes это не одно и то же что и данная функция


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB