affected_rows
En este artículo, nos centraremos en la función mysqli_affected_rows() de PHP, que se utiliza para obtener el número de filas afectadas por la operación MySQL anterior. Le proporcionaremos una visión general de la función, cómo funciona y ejemplos de su uso.
Introducción a la función mysqli_affected_rows()
La función mysqli_affected_rows() es una función integrada en PHP que se utiliza para obtener el número de filas afectadas por la operación MySQL anterior. Se utiliza comúnmente después de ejecutar una consulta INSERT, UPDATE o DELETE.
Cómo usar la función mysqli_affected_rows()
Usar la función mysqli_affected_rows() es muy sencillo. Solo necesita pasar un objeto de conexión MySQLi válido como argumento. Aquí tiene un ejemplo:
¿Cómo usar la función 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();
?>En este ejemplo, creamos un nuevo objeto MySQLi y ejecutamos una consulta UPDATE para actualizar el nombre de un usuario con un ID de 1 a "John". Luego, llamamos a la función mysqli_affected_rows() para obtener el número de filas afectadas por la consulta y mostramos el resultado en la consola.
Nota importante sobre las consultas SELECT
La función mysqli_affected_rows() no devuelve el número de filas para las consultas SELECT; en tales casos, devuelve -1. Para contar filas en un resultado SELECT, utilice mysqli_num_rows() en el conjunto de resultados. Además, SQL_CALC_FOUND_ROWS y FOUND_ROWS() están en desuso en MySQL 8.0.30+ y se eliminaron en 8.0.31+, por lo que no deben usarse en aplicaciones modernas.
Conclusión
En conclusión, la función mysqli_affected_rows() es una herramienta poderosa para obtener el número de filas afectadas por operaciones INSERT, UPDATE o DELETE en PHP. Al comprender cómo usar la función correctamente, puede gestionar eficazmente los cambios de datos en sus scripts MySQLi.
Práctica
¿Qué hace la función mysqli_affected_rows() en PHP?