affected_rows
В этой статье мы рассмотрим функцию mysqli_affected_rows() в PHP, которая используется для получения количества строк, затронутых предыдущей операцией MySQL. Мы предоставим обзор функции, принцип её работы и примеры использования.
Введение в функцию mysqli_affected_rows()
Функция mysqli_affected_rows() — это встроенная функция PHP, предназначенная для получения количества строк, затронутых предыдущей операцией MySQL. Она обычно используется после выполнения запросов INSERT, UPDATE или DELETE.
Как использовать функцию mysqli_affected_rows()
Использование функции mysqli_affected_rows() очень просто. Вам нужно лишь передать в качестве аргумента действительный объект подключения MySQLi. Вот пример:
Как использовать функцию mysqli_affected_rows()?
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
$mysqli->query("UPDATE users SET name='John' WHERE id=1");
echo "Rows updated: " . mysqli_affected_rows($mysqli);
$mysqli->close();
?>В этом примере мы создаём новый объект MySQLi и выполняем запрос UPDATE для обновления имени пользователя с идентификатором 1 на "John". Затем мы вызываем функцию mysqli_affected_rows() для получения количества строк, затронутых запросом, и выводим результат в консоль.
Важное примечание относительно запросов SELECT
Функция mysqli_affected_rows() не возвращает количество строк для запросов SELECT; в таких случаях она возвращает -1. Чтобы подсчитать количество строк в результате SELECT, используйте mysqli_num_rows() для набора результатов. Кроме того, SQL_CALC_FOUND_ROWS и FOUND_ROWS() устарели в MySQL 8.0.30+ и удалены в 8.0.31+, поэтому их не следует использовать в современных приложениях.
Заключение
Подводя итог, функция mysqli_affected_rows() — это мощный инструмент для получения количества строк, затронутых операциями INSERT, UPDATE или DELETE в PHP. Понимание правильного использования этой функции позволит вам эффективно управлять изменениями данных в ваших скриптах MySQLi.
Практика
Что делает функция mysqli_affected_rows() в PHP?