[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: UPDATE всегда возвращает true
Tornado
if (mysql_query ("UPDATE `submit` SET status = 1 WHERE bug = '$_GET['bug']'")) {
echo "Все в порядке";
}
else {
echo "Непорядок";
}


Дело в том что всегда выдает что все в порядке, хотя иногда поле bug не совпадает с переменной $_GET['bug']. Всегда возвращает true. Как поставить условие чтобы в таком случае выдавал что не в порядке?



Спустя 16 минут, 25 секунд (8.03.2011 - 22:56) alex12060 написал(а):
Он и будет, ведь это не селект.
читай про mysql_affected_rows()

Спустя 1 минута, 34 секунды (8.03.2011 - 22:58) alex12060 написал(а):

mysql_query ("UPDATE `submit` SET status = 1 WHERE bug = '$_GET['bug']'");

if (mysql_affected_rows() != -1) {
echo "Все в порядке";
}
else {
echo "Непорядок";
}


Проверяй так.

Спустя 10 часов, 23 минуты, 25 секунд (9.03.2011 - 09:21) linker написал(а):
Не нулевой результат свидетельствует о том, что данные были изменены, поэтому
mysql_query ("UPDATE `submit` SET status = 1 WHERE bug = '$_GET['bug']'");
if (mysql_affected_rows() > 0)
{
echo "Все в порядке";
}
else
{
echo "Непорядок";
}
"-1" - в случае ошибки (кривой запрос). "0" - ничего не обновилось. "0" также вернется, если в случае обновления поле `status` будет уже равно "1". В данном примере, мы также видим возможность SQL-инъекции.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.