Функция mysql_affected_rows() в PHP
Определение и использование
Функция mysql_affected_rows() в PHP возвращает количество строк записей,affected rows,affected by последнего MySQL оператора.
Грамматика
mysql_affected_rows(link_identifier)
Параметр | Описание |
---|---|
link_identifier | Обязателен. Идентификатор соединения MySQL. Если не указан, используется последний, который был mysql_connect() Открытое соединение. Если не найдено это соединение, функция пытается вызвать mysql_connect() Установление соединения и использование его. Если происходит что-то неожиданное, не найдено соединение или не удалось установить соединение, система выдает сообщение об ошибке уровня E_WARNING. |
Описание
Получение последнего с link_identifier Число строк записей,affected rows,affected by связанного INSERT,UPDATE или DELETE запроса.
Возвращает значение
В случае успешного выполнения функции возвращается количествоaffected строк, а в случае неудачи последнего запроса функция возвращает -1.
Если последняя операция - это запрос DELETE без условия (WHERE), все записи в таблице будут удалены, но до версии 4.1.2 функция возвращает 0.
Когда используется запрос UPDATE, MySQL не обновляет столбцы, значения которых не изменились. Это означает, что значение функции mysql_affected_rows() не всегда равно количеству записей, соответствующих условиям запроса, и возвращает количество действительно измененных записей.
Предложение REPLACE сначала удаляет записи с таким же PRIMARY KEY, затем вставляет новую запись. Функция возвращает количество удаленных записей加上 количество вставленных записей.
Пример
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die("Не удалось подключиться: " . mysql_error()); } mysql_select_db("mydb"); mysql_query("DELETE FROM mytable WHERE id < 5"); $rc = mysql_affected_rows();; echo "Удаленные записи: " . $rc; mysql_close($con); ?>
Вывод:
Удаленные записи: 4