mysqli_stmt::$affected_rows
mysqli_stmt_affected_rows
(PHP 5, PHP 7, PHP 8)
mysqli_stmt::$affected_rows -- mysqli_stmt_affected_rows — Returns the total number of rows changed, deleted, inserted, or
matched by the last statement executed
Descrizione
Stile orientato agli oggetti
Stile procedurale
Returns the number of rows affected by the INSERT,
UPDATE, or DELETE query.
Works like mysqli_stmt_num_rows() for
SELECT statements.
Elenco dei parametri
stmtSolo nello stile procedurale: un identificatore di statement
restituito da mysqli_stmt_init().
Valori restituiti
An integer greater than zero indicates the number of rows affected or
retrieved. Zero indicates that no records were updated for an
UPDATE statement, no rows matched the
WHERE clause in the query or that no query has yet been
executed. -1 indicates that the query returned an error or
that, for a SELECT query,
mysqli_stmt_affected_rows() was called prior to calling
mysqli_stmt_store_result().
Nota:
If the number of affected rows is greater than the maximum PHP int value, the
number of affected rows will be returned as a string value.
Esempi
Example #1 mysqli_stmt_affected_rows() example
Stile orientato agli oggetti
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* create temp table */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* prepare statement */
$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);
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* create temp table */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* prepare statement */
$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));
I precedenti esempi visualizzeranno: