Эта тема на forum.dklab.ru


ink: mysql UPDATE и POST
Подскажите в чём косяк: делаю апдейт поля, при этом данные заносятся(видно по принту), но в phpmyadmin - ячейка пустая, т.е. в какой то момент данные в базе теряются.
Если заносить строкой или из $_GET, то данные остаются.

print_r(mysql_fetch_array(mysql_query("SELECT * FROM content WHERE id=1")));
mysql_query("UPDATE `content` SET `name`='$_POST[name]' WHERE `id`='1'");
print_r(mysql_fetch_array(mysql_query("SELECT * FROM content WHERE id=1")));


PS: хостинг на агаве.
bæv:
при этом данные заносятся(видно по принту)
— это как?
ink:
print_r(mysql_fetch_array(mysql_query("SELECT * FROM content WHERE id=1")));
При том что принт в конце скрипта.
bæv:
Так откуда тогда вывод, что «данные в базе теряются»? Скорее можно сделать вывод, что phpmyadmin глючит.

1. http://phpfaq.ru/debug
2. Проверьте кодировку на всех этапах: от страницы с формой до страницы phpmyadmin'а: http://phpfaq.ru/charset
ink:
Ну я же написал - при апдейте из строки или GET - всё ок, тот же phpmyadmin показывает.
Вывод не только в phpmyadmin есть, это скрипт админки. :)

Кодировка везде 1251.
ink:
Страница одна, в ней вывод из табицы и формы редактирования.
Пошагово:
1. нажимаем редактирование
2. заполняем форму, отправляем
3. апдейт в базе, сразу после апдейта - принт: данные занесены
4. вывод из таблицы: данные на месте
5. контрольный принт в конце скрипта - данные на месте :)
6. обновляем майадмин на соседней вкладке - данных нет
7. заходим в админке на эту же страницу - данных нет

т.е. данные заносятся - принт об этом явно говорит, но после чем то трутся...
ink:
Удалось немного локализовать проблему: глюк происходит из-за наличия записи в ячейке соседней строки: <a style="display: inline-block; background: #cc3333 url('''') no-repeat top right; width: 88px; height: 31px; border: 0px solid #000; color: #ffffff; text-decoration: none; text-align: center; padding: 0; overflow: hidden; font-style: normal; font-variant: normal; font-weight: bold; font-size: 9px; font-family: Verdana, sans-serif; margin-left: 2px; margin-right: 2px; margin-top: 5px; margin-bottom: 0;" href="http://www.avto-mos.ru/autosale/" target="_blank">Продажа новых автомобилей</a>
Maus:
ink
вижу 2 варианта: либо phpmyadmin плохо эскейпит, либо Вы плохо экранируете при вставке. Я вот в Вашем коде не вижу следов того, что Вы проверяете результат mysql_query и т.п.

Эта тема на forum.dklab.ru