Получение обновления row_count в mysql с использованием php - PullRequest
1 голос
/ 21 декабря 2009

Это очень простой пример:

У меня есть таблица с двумя столбцами, id и password. Я хочу знать, когда обновление было выполнено успешно, при этом успех определяется как применяемый к существующей строке.

PHP, кажется, предлагает только mysql_affeted_rows(), который не различает 0 затронутых строк и 0 обновленных строк. http://php.net/manual/en/function.mysql-affected-rows.php Это неудобно, поскольку возвращаемое значение зависит от состояния строк во время транзакции. В Postgresql вы можете получить его обоими способами, UPDATE foo SET bar = NULL, вернет количество строк updated в foo; тогда как UPDATE foo SET bar = NULL WHERE bar IS NOT NULL вернет количество строк , затронутых , ограничив обновление.

Не беспокойтесь о предложении предыдущего SELECT или счетчика PHP var, который предполагает наличие строки. Я хочу знать, как можно получить функциональность Pg без лишних запросов.

Ответы [ 2 ]

1 голос
/ 21 декабря 2009

Функция mysqli num_rows соответствует вашим потребностям?

1 голос
/ 21 декабря 2009

mysql_affected_rows всегда будет возвращать количество строк, обновленных на UPDATE.

Другими словами, он вернет то же количество строк для UPDATE foo SET bar = NULL, что и для UPDATE foo SET bar = NULL WHERE bar IS NOT NULL при тех же начальных данных.

Или, по крайней мере, так задокументировано на странице руководства, на которую вы ссылались, под заголовком «Возвращаемые значения».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...