Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

mysqli::affected_rows

mysqli_affected_rows

(PHP 5)

mysqli::affected_rows -- mysqli_affected_rows — Получает число строк, затронутых предыдущей операцией MySQL


Описание

Объектно-ориентированный стиль


int $mysqli->affected_rows;

Процедурный стиль

int mysqli_affected_rows ( mysqli $link )

Возвращает число строк, затронутых последним INSERT, UPDATE, REPLACE или DELETE запросом.

Для запросов вида SELECT mysqli_affected_rows() работает как mysqli_num_rows().


Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()


Возвращаемые значения

Целое число, большее нуля, означает количество затронутых или полученных строк. Ноль означает, что запросом вида UPDATE не обновлено ни одной записи, или что ни одна строка не соответствует условию WHERE в запросе, или что запрос еще не был выполнен. Значение -1 указывает на то, что запрос вернул ошибку.

Замечание:

Если число затронутых строк больше чем максимальное значение int, то число затронутых строк будет возвращено в строковом виде (string).


Примеры

Пример #1 Пример mysqli->affected_rows

Объектно-ориентированный стиль


$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Проверка соединения */
if (mysqli_connect_errno()) {
    printf("Подключение не удалось: %s\n", mysqli_connect_error());
    exit();
}
/* Добавление строк (Insert) */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Затронутые строки (INSERT): %d\n", $mysqli->affected_rows);
$mysqli->query("ALTER TABLE Language ADD Status int default 0");
/* Обновление строк (Update) */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Затронутые строки (UPDATE): %d\n", $mysqli->affected_rows);
/* Удаление строк (Delete) */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Затронутые строки (DELETE): %d\n", $mysqli->affected_rows);
/* Выбор всех строк (Select) */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Затронутые строки (SELECT): %d\n", $mysqli->affected_rows);
$result->close();
/* Удаление таблицы Language */
$mysqli->query("DROP TABLE Language");
/* Закрытие соединения */
$mysqli->close();

Процедурный стиль


$link = mysqli_connect("localhost", "my_user", "my_password", "world");
if (!$link) {
    printf("Не могу подключиться к localhost. Ошибка: %s\n", mysqli_connect_error());
    exit();
}
/* Добавление строк (Insert) */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Затронутые строки (INSERT): %d\n", mysqli_affected_rows($link));
mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");
/* Обновление строк (Update) */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Затронутые строки (UPDATE): %d\n", mysqli_affected_rows($link));
/* Удаление строк (Delete) */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Затронутые строки (DELETE): %d\n", mysqli_affected_rows($link));
/* Выбор всех строк (Select) */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Затронутые строки (SELECT): %d\n", mysqli_affected_rows($link));
mysqli_free_result($result);
/* Удаление таблицы Language */
mysqli_query($link, "DROP TABLE Language");
/* Закрытие соединения */
mysqli_close($link);

Результат выполнения данных примеров:


Затронутые строки (INSERT): 984
Затронутые строки (UPDATE): 168
Затронутые строки (DELETE): 815
Затронутые строки (SELECT): 169

Смотрите также

  • mysqli_num_rows() - Получает число рядов в результирующей выборке
  • mysqli_info() - Retrieves information about the most recently executed query

Описание класса mysqli, примеры использования класса mysqli.

Описание на ru2.php.net
Описание на php.ru