То, что я пытаюсь сделать, это: (программно)mysql_affected_rows() всегда возвращает 1, даже если ни одна строка не была обновлена
статусUpdate, где идентификатор является то, если ни одна строка, где обновляются, не дают ошибку: мы не можем найти запись с идентификатором что-то, в противном случае дать успех сообщения.
Здесь я использую mysql_affected_rows(), чтобы узнать, была ли обновлена строка или нет, но она всегда возвращает 1, поэтому пользователь получает сообщение об успешном завершении, хотя обновленная строка не обновляется.
Может ли кто-нибудь сказать мне, что это может быть?
Вот код:
function update_sql($sql) {
$this->last_query = $sql;
$r = mysql_query($sql);
if (!$r) {
$this->last_error = mysql_error();
return false;
}
$rows = mysql_affected_rows();
if ($rows == 0) return true; // no rows were updated
else return $rows; }
Этот код возвращает 1.
Не могли бы вы показать нам фрагмент кода, в котором это происходит? –