mysqli_stmt::$affected_rows

mysqli_stmt_affected_rows

(PHP 5, PHP 7)

mysqli_stmt::$affected_rows -- mysqli_stmt_affected_rowsReturns the total number of rows changed, deleted, or inserted by the last executed statement

说明

面向对象风格

过程化风格

mysqli_stmt_affected_rows ( mysqli_stmt $stmt ) : int

Returns the number of rows affected by INSERT, UPDATE, or DELETE query.

This function only works with queries which update a table. In order to get the number of rows from a SELECT query, use mysqli_stmt_num_rows() instead.

参数

stmt

仅以过程化样式:由 mysqli_stmt_init() 返回的 statement 标识。

返回值

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. NULL indicates an invalid argument was supplied to the function.

Note:

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 面向对象风格

<?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 过程化风格

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

以上例程会输出:

rows inserted: 17

参见

相关文章
php cubrid mysql 兼容性函数 return the number of rows affected by the last sql statementphp ibm db2 函数 returns the number of rows affected by an sql statementphp frontbase 函数 get the number of rows affected by the last statementphp maxdb 函数 returns the total number of rows changed deleted or inserted by the last executed statementphp sqlite 函数 returns the number of rows that were changed by the most recent sql statementphp sqlsrv 函数 returns the number of rows modified by the last insert update or delete query executedphp mysqli stmt returns the total number of rows changed deleted or inserted by the last executed statementphp mysqli stmt returns the error code for the most recent statement callphp mysqli stmt returns a list of errors from the last statement executedphp mysqli stmt returns a string description for last statement errorphp mysqli stmt returns the number of field in the given statementphp mysqli stmt return the number of rows in statements result setphp mysqli stmt returns the number of parameter for the given statementphp mysqli stmt prepare an sql statement for executionphp mysqli stmt returns result set metadata from a prepared statementphp mysqli stmt returns sqlstate error from previous statement operationphp mysqli returns a list of errors from the last command executedphp mysqli returns the number of warnings from the last query for the given linkphp sqlite3 returns the number of database rows that were changed or inserted or deleted by the most recent sql statementphp sqlite3stmt returns the number of parameters within the prepared statement
关注编程学问公众号