mysqli_stmt_affected_rows
(PHP 5)
mysqli_stmt_affected_rows
(no version information, might be only in CVS)
mysqli_stmt->affected_rows -- Returns the total number of rows changed, deleted, or
inserted by the last executed statement
Description
Procedural style :
mixed
mysqli_stmt_affected_rows ( object stmt)
Object oriented style (property):
class
stmt {
mixed affected_rows
}
mysqli_stmt_affected_rows() returns the number of rows affected
by INSERT, UPDATE, or DELETE query. If the last query was invalid, this function will return -1.
The mysqli_stmt_affected_rows() function only works with queries
which update a table. In order to return the number of rows from a SELECT query, use
the mysqli_stmt_num_rows() function instead.
Return Values
An integer greater than zero indicates the number of rows affected or retrieved.
Zero indicates that no records where updated for an UPDATE/DELETE statement, no
rows matched the WHERE clause in the query or that no query has yet been executed.
-1 indicates that the query has returned an error.
注:
If the number of affected rows is greater than maximal PHP int value, the number of
affected rows will be returned as a string value.
Example
例子 1. Object oriented style
<?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(); ?>
|
|
例子 2. Procedural style
<?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); ?>
|
|
The above examples would produce the following output: