mysqli::$affected_rows

mysqli_affected_rows

(PHP 5, PHP 7)

mysqli::$affected_rows -- mysqli_affected_rowsGets the number of affected rows in a previous MySQL operation

说明

面向对象风格

过程化风格

mysqli_affected_rows ( mysqli $link ) : int

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

For SELECT statements mysqli_affected_rows() works like mysqli_num_rows().

参数

link

仅以过程化样式:由mysqli_connect()mysqli_init() 返回的链接标识。

返回值

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.

Note:

If the number of affected rows is greater than the maximum integer value( PHP_INT_MAX ), the number of affected rows will be returned as a string.

范例

Example #1 $mysqli->affected_rows example

面向对象风格

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

/* Insert rows */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n"$mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* update rows */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n"$mysqli->affected_rows);

/* delete rows */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n"$mysqli->affected_rows);

/* select all rows */
$result $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n"$mysqli->affected_rows);

$result->close();

/* Delete table Language */
$mysqli->query("DROP TABLE Language");

/* close connection */
$mysqli->close();
?>

过程化风格

<?php
$link 
mysqli_connect("localhost""my_user""my_password""world");

if (!
$link) {
    
printf("Can't connect to localhost. Error: %s\n"mysqli_connect_error());
    exit();
}

/* Insert rows */
mysqli_query($link"CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n"mysqli_affected_rows($link));

mysqli_query($link"ALTER TABLE Language ADD Status int default 0");

/* update rows */
mysqli_query($link"UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n"mysqli_affected_rows($link));

/* delete rows */
mysqli_query($link"DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n"mysqli_affected_rows($link));

/* select all rows */
$result mysqli_query($link"SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n"mysqli_affected_rows($link));

mysqli_free_result($result);

/* Delete table Language */
mysqli_query($link"DROP TABLE Language");

/* close connection */
mysqli_close($link);
?>

以上例程会输出:

Affected rows (INSERT): 984
Affected rows (UPDATE): 168
Affected rows (DELETE): 815
Affected rows (SELECT): 169

参见

相关文章
php cubrid mysql 兼容性函数 return the number of rows affected by the last sql statementphp cubrid mysql 兼容性函数 return the numerical value of the error message from previous cubrid operationphp ibm db2 函数 returns the number of rows affected by an sql statementphp frontbase 函数 get number of affected rows in previous frontbase operationphp frontbase 函数 returns the error number from previous operationphp frontbase 函数 get the number of rows affected by the last statementphp firebird/interbase 函数 return the number of rows that were affected by the previous queryphp informix 函数 get number of rows affected by a queryphp ingres 函数 get the number of rows affected or returned by a queryphp maxdb 函数 gets the number of affected rows in a previous maxdb operationphp maxdb 函数 gets the number of rows in a resultphp sybase 函数 gets number of affected rows in last queryphp mysqli result gets the number of rows in a resultphp mysqli stmt returns the total number of rows changed deleted or inserted by the last executed statementphp mysqli stmt get the id generated from the previous insert operationphp mysqli stmt return the number of rows in statements result setphp mysqli stmt returns sqlstate error from previous statement operationphp mysqli gets the number of affected rows in a previous mysql operationphp mysqlnduhconnection gets the number of affected rows in a previous mysql operationphp mysqlnduhconnection returns the sqlstate error from previous mysql operation
关注编程学问公众号