$query1 = $db -> query("UPDATE `news` SET `title` = '$title', `text` = '$text'");
if (mysql_errno())
{
echo '<p>Во время обновления данных возникла <strong style="color: red;">ошибка</strong>. Данные не были обновлены.
Вернитесь <a href="admin.php">в панель управления</a>.</p>';
}
else
{
echo '<p>Данные были обновлены. Вернитесь <a href="admin.php">в панель управления</a>.</p>';
}
Произошла ошибка при обновлении или нет - выводится всегда строка, что всё прошло успешно. Например, если сделать такую ошибку:
$query1 = $db -> query("UPDATE `news1111111` SET `title` = '$title', `text` = '$text'");
Данные в БД не обновятся, но текст будет выведен о том, что всё в порядке. Что я делаю не так?
Спустя 5 минут, 31 секунда (28.12.2011 - 16:25) T1grOK написал(а):
mysql_affected_rows()
Спустя 25 минут, 30 секунд (28.12.2011 - 16:50) alex455 написал(а):
А что в скобки нужно вставлять? Прочитал, что link_identifier, но что это именно?
Спустя 4 минуты, 16 секунд (28.12.2011 - 16:54) Winston написал(а):
echo mysql_affected_rows($query1);
Спустя 4 минуты, 45 секунд (28.12.2011 - 16:59) alex455 написал(а):
@ $query1 = $db -> query("UPDATE `news` SET `title` = '$title', `text` = '$text'");
if (mysql_affected_rows($query1) < 1)
{
echo '<p>Во время обновления данных возникла <strong style="color: red;">ошибка</strong>. Данные не были обновлены.
Вернитесь <a href="admin.php">в панель управления</a>.</p>';
}
else
{
echo '<p>Данные были обновлены. Вернитесь <a href="admin.php">в панель управления</a>.</p>';
}
Теперь всё время ошибка (даже если данные обновились), + mysql_affected_rows() expects parameter 1 to be resource, boolean given in...
Спустя 50 секунд (28.12.2011 - 17:00) Winston написал(а):
А нафига ты переменную собакой (@) скрыл ?
Спустя 46 секунд (28.12.2011 - 17:01) Ramzil_Nixon написал(а):
$query = mysql_query("UPDATE `news` SET
`title` = '$title',
`text` = '$text'
") or die(mysql_error());
if($query)
{
echo 'TRUE';
}
else
{
echo 'FALSE';
}
Спустя 1 минута, 21 секунда (28.12.2011 - 17:02) Winston написал(а):
Цитата (alex455 @ 28.12.2011 - 15:59) |
mysql_affected_rows() expects parameter 1 to be resource, boolean given in... |
В sql запросе ошибка потому mysql_query возвращает false, b соответственно mysql_affected_rows ругается на то, что ей было передано булевое значение.
Перепиши так
$query1 = $db -> query("UPDATE `news` SET `title` = '$title', `text` = '$text'") or die(mysql_error());
Спустя 2 минуты, 50 секунд (28.12.2011 - 17:05) Ramzil_Nixon написал(а):
У тебя в запросе еще есть такие ошибки: $title и $text как это говорят не знаю, но они должны быть за пределаои " " соответственно будет так:
$query = mysql_query("UPDATE `news` SET
`title` = '".$title."',
`text` = '".$text."'
") or die(mysql_error());
Спустя 20 часов, 36 минут, 56 секунд (29.12.2011 - 13:42) alex455 написал(а):
Вобщем, разобрался. Mysql_errno() работает отлично в этой ситуации. Причина была в том, что я использовать ООП метод работы с MySQL, а mysql_errno(), похоже, работает только с процедерным методом. Переписал этот скрипт процедурным методом и всё заработало.