mysqli::$affected_rows

mysqli_affected_rows

(PHP 5, PHP 7, PHP 8)

mysqli::$affected_rows -- mysqli_affected_rowsDevuelve el número de filas afectadas por la última operación MySQL

Descripción

Estilo orientado a objetos

Estilo por procedimientos

mysqli_affected_rows(mysqli $mysql): int|string

Devuelve el número de filas afectadas por la última consulta INSERT, UPDATE, REPLACE o DELETE asociada al argumento link.

Funciona como mysqli_num_rows() para las consultas SELECT.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Un entero mayor que cero indica el número de filas afectadas o recuperadas. Cero indica que ningún registro fue modificado por una consulta del tipo UPDATE, ninguna fila coincide con la cláusula WHERE en la consulta o que ninguna consulta fue ejecutada. -1 indica que la consulta devolvió un error o que mysqli_affected_rows() fue llamado sobre una consulta SELECT no almacenada en búfer.

Nota:

Si el número de filas afectadas es mayor que el valor máximo (PHP_INT_MAX) que puede tomar un entero, el número de filas afectadas será devuelto como un string.

Ejemplos

Ejemplo #1 Ejemplo con $mysqli->affected_rows

Estilo orientado a objetos

<?php
mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Inserción de una fila */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Número de filas afectadas (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* Modificación de una fila */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Número de filas afectadas (UPDATE): %d\n", $mysqli->affected_rows);

/* Eliminación de una fila */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Número de filas afectadas (DELETE): %d\n", $mysqli->affected_rows);

/* Selección de todas las filas */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Número de filas afectadas (SELECT): %d\n", $mysqli->affected_rows);

/* Eliminación de la tabla Language */
$mysqli->query("DROP TABLE Language");
?>

Estilo por procedimientos

<?php
mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Inserción de una fila */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Número de filas afectadas (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");

/* Modificación de una fila */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Número de filas afectadas (UPDATE): %d\n", mysqli_affected_rows($link));

/* Eliminación de una fila */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Número de filas afectadas (DELETE): %d\n", mysqli_affected_rows($link));

/* Selección de todas las filas */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Número de filas afectadas (SELECT): %d\n", mysqli_affected_rows($link));

/* Eliminación de la tabla "language" */
mysqli_query($link, "DROP TABLE Language");
?>

El resultado de los ejemplos sería:

Número de filas afectadas (INSERT): 984
Número de filas afectadas (UPDATE): 168
Número de filas afectadas (DELETE): 815
Número de filas afectadas (SELECT): 169

Ver también

  • mysqli_num_rows() - Devuelve el número de filas en el conjunto de resultados
  • mysqli_info() - Devuelve información acerca de la última consulta ejecutada