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

yipeiwu_com6年前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程序设计有所帮助。

相关文章

整理的一些实用WordPress后台MySQL操作命令

不过假设你的WordPress网站上有成百上千篇文章,而你需要进行全站范围的改动, 这时从后台逐条编辑就有点费时费力了,并且犯错的几率也会提高。 最好的方法是进入WordPress的My...

PHP基于PDO扩展操作mysql数据库示例

本文实例讲述了PHP基于PDO扩展操作mysql数据库。分享给大家供大家参考,具体如下: SELECT //查单条 function get_sub_product() { $r...

如何提高MYSQL数据库的查询统计速度 select 索引应用

数据库系统是管理信息系统的核心,基于数据库的联机事务处理(OLTP)以及联机分析处理(OLAP)是银行、企业、政府等部门最为重要的计算机应用之一。从大多数系统的应用实例来看,查询操作在各...

MySQL 日期时间函数常用总结

MySQL 日期时间函数常用总结

 获得当前日期+时间(date + time)1.1    函数:now()  相关函数:current...

PHP以mysqli方式连接类完整代码实例

本文所述的是一个在PHP中以mysqli方式连接数据库的一个数据库类实例,该数据库类是从一个PHP的CMS中整理出来的,可实现PHP连接数据库类,MySQLi版,兼容PHP4,对于有针对...