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

相关文章

PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法

本文实例讲述了PHP提示 Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法,在PHP程序开发中常会遇...

mysql 中InnoDB和MyISAM的区别分析小结

 MyIASM是IASM表的新版本,有如下扩展: 二进制层次的可移植性。 NULL列索引。 对变长行比ISAM表有更少的碎片。 支持大文件。 更好的索引压缩。 更好的键吗统计分...

php+mysql删除指定编号员工信息的方法

本文实例讲述了php+mysql删除指定编号员工信息的方法。分享给大家供大家参考。具体分析如下: 利用php提交员工编号给mysql,然后由mysql把数据接受并利用delete进行数据...

PHP PDO操作MySQL基础教程

本文实例讲述了PHP PDO操作MySQL的方法。分享给大家供大家参考,具体如下: PHP中的PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这...

脚本安全的本质_PHP+MYSQL第1/3页

一 前言 问题的存在 从代码级别上,也就是应用层次上考虑代码安全的话(也就是不考虑底层的语言本身等问题的漏洞),脚本安全问题就是函数和变量的问题。变量直接或者间接的接收用户不安全的的输入...