(PHP 5)
mysqli_stmt->affected_rows — Regresa el número total de filas cambiadas, borradas o insertadas por la última sentencia ejecutada
Estilo por procedimientos :
EStilo orientado a objetos (propiedad):
mysqli_stmt_affected_rows() regresa el número de filas afectadas por consultas INSERT, UPDATE o DELETE. Si la última consulta fue invalida, esta función regresará -1
La función mysqli_stmt_affected_rows() solo funciona con consultas que actualizan tablas. Para obtener el número de filas de una consulta SELECT, use la función mysqli_stmt_num_rows().
Un entero mayor a cero indica el número de filas afectadas u obtenidas. Cero indica que no hubo registros actualizados para sentencias UPDATE/DELETE, no hubo filas que concordaran la cláusula WHERE en la consulta o que no se ha ejecutado ninguna consulta todavía. -1 indifca que la consulta ha regresado un error.
Note: Si el número de filas afectadas es mayor que el valor entero maximo de PHP, el número de filas afectadas será regresada como una cadena.
Example#1 Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* create temp table */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* prepare statement */
if ($stmt = $mysqli->prepare($query)) {
/* Bind variable for placeholder */
$code = 'A%';
$stmt->bind_param("s", $code);
/* execute statement */
$stmt->execute();
printf("rows inserted: %d\n", $stmt->affected_rows);
/* close statement */
$stmt->close();
}
/* close connection */
$mysqli->close();
?>
Example#2 Estilo por procedimientos
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* create temp table */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* prepare statement */
if ($stmt = mysqli_prepare($link, $query)) {
/* Bind variable for placeholder */
$code = 'A%';
mysqli_stmt_bind_param($stmt, "s", $code);
/* execute statement */
mysqli_stmt_execute($stmt);
printf("rows inserted: %d\n", mysqli_stmt_affected_rows($stmt));
/* close statement */
mysqli_stmt_close($stmt);
}
/* close connection */
mysqli_close($link);
?>
El resultado del ejemplo seria:
rows inserted: 17