PHP中mysqli_affected_rows作用行数返回值分析

yipeiwu_com5年前Mysql基础

本文实例分析了PHP中mysqli_affected_rows作用行数返回值。分享给大家供大家参考。具体分析如下:

mysqli中关于update操作影响的行数可以有两种返回形式:

1. 返回匹配的行数
2. 返回影响的行数

默认情况下mysqli_affected_rows返回的值为影响的行数,如果我们需要返回匹配的行数,可以使用mysqli_real_connect函数进行数据库连接的初始化,并在函数的flag参数位加上:

MYSQLI_CLIENT_FOUND_ROWS return number of matched rows, not the number of affected rows

普通格式:

复制代码 代码如下:
int mysqli_affected_rows ( mysqli link )

oop格式:

复制代码 代码如下:
class mysqli {
int affected_rows
}

看下例子:

普通模式,代码如下:

复制代码 代码如下:
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
 
if (!$link) {
printf("Can't connect to localhost. Error: %sn", mysqli_connect_error());
exit();
}
 
/* Insert rows */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %dn", 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): %dn", mysqli_affected_rows($link));
 
/* delete rows */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50″);
printf("Affected rows (DELETE): %dn", mysqli_affected_rows($link));
 
/* select all rows */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %dn", mysqli_affected_rows($link));
 
mysqli_free_result($result);

/* Delete table Language */
mysqli_query($link, "DROP TABLE Language");
 
/* close connection */
mysqli_close($link);
?>


oop模式,代码如下:
复制代码 代码如下:
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
 
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %sn", mysqli_connect_error());
exit();
}
 
/* Insert rows */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %dn", $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): %dn", $mysqli->affected_rows);
 
/* delete rows */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50″);
printf("Affected rows (DELETE): %dn", $mysqli->affected_rows);
 
/* select all rows */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %dn", $mysqli->affected_rows);
 
$result->close();
 
/* Delete table Language */
$mysqli->query("DROP TABLE Language");
 
/* close connection */
$mysqli->close();
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

php+mysql数据库实现无限分类的方法

本文实例讲述了php+mysql数据库实现无限分类的方法。分享给大家供大家参考。具体分析如下: 这款php无限分类代码比较完整理包括了数据库是mysql的,有增加、删除、编辑、移动的功能...

PHP+MySQL实现模糊查询员工信息功能示例

PHP+MySQL实现模糊查询员工信息功能示例

本文实例讲述了PHP+MySQL实现模糊查询员工信息功能。分享给大家供大家参考,具体如下: 一、代码 注意两点: 1、用Notepad+编辑时,格式选择:【编码字符集】->【中文】...

PHP+MySQL修改记录的方法

本文实例讲述了PHP+MySQL修改记录的方法。分享给大家供大家参考。具体如下: 复制代码 代码如下: <h1>修改记录</h1>  <?...

PHP 和 MySQL 开发的 8 个技巧

1. PHP 中数组的使用   在操作数据库时,使用关联数组(associatively-indexed arrays)十分有帮助,下面...

php中选择什么接口(mysql、mysqli)访问mysql

我们知道,mysqli是PHP 5中新提供的MySQL接口,此接口使用了面向对象的思想。使用mysqli接口的代码可读性更强,其执行效率比mysql接口高。而且mysqli提供了一个能够...