mysqli_stmt::$affected_rows
mysqli_stmt_affected_rows
(PHP 5, PHP 7, PHP 8)
mysqli_stmt::$affected_rows -- mysqli_stmt_affected_rows — Возвращает общее количество строк, изменённых, удалённых, вставленных
или сопоставленных последним выполненным выражением
Описание
Объектно-ориентированный стиль
Процедурный стиль
Возвращаемые значения
Целое число больше нуля указывает количество затронутых или извлечённых строк.
Ноль означает, что записи для оператора UPDATE не обновлялись,
ни одна строка не соответствовала выражению WHERE в запросе
или что ни один запрос ещё не был выполнен.
-1 означает, что во время выполнения запроса произошла ошибка
или что для запроса SELECT, mysqli_stmt_affected_rows()
была вызваны до вызова mysqli_stmt_store_result().
Замечание:
Если количество изменённых строк больше, чем максимальное значение для
целого числа в PHP, то это количество будет возвращено в виде строкового
значения.
Примеры
Пример #1 Пример использования mysqli_stmt_affected_rows()
Объектно-ориентированный стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* создание временной таблицы */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* подготовка выражения */
$stmt = $mysqli->prepare($query);
/* связывание переменных */
$code = 'A%';
$stmt->bind_param("s", $code);
/* выполнение выражения */
$stmt->execute();
printf("Добавлено строк: %d\n", $stmt->affected_rows);
?>
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* создание временной таблицы */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* подготовка выражения */
$stmt = mysqli_prepare($link, $query);
/* связывание переменных */
$code = 'A%';
mysqli_stmt_bind_param($stmt, "s", $code);
/* выполнение выражения */
mysqli_stmt_execute($stmt);
printf("Добавлено строк: %d\n", mysqli_stmt_affected_rows($stmt));
?>
Результат выполнения приведённых примеров: