跳转到主要内容

affected-rows

mysqli_stmt::$affected_rows

mysqli_stmt_affected_rows

Returns the total number of rows changed, deleted, inserted, or matched by the last statement executed

ENTITY

ENTITY

int

string

mysqli_stmt-ENTITYaffected_rows

ENTITY

int

string

mysqli_stmt_affected_rows

mysqli_stmt

statement

Returns the number of rows affected by the INSERT, UPDATE, or DELETE query. Works like mysqli_stmt_num_rows for SELECT statements.

ENTITY

ENTITY

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.

[!NOTE] 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.

ENTITY

mysqli_stmt_affected_rows example

ENTITY

<?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);

   

ENTITY

<?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));

   

ENTITY

Rows inserted: 17

ENTITY

mysqli_stmt_num_rows, mysqli_stmt_store_result