欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

mysql_affected_rows的困惑

程序员文章站 2022-04-10 18:21:52
...
手册上说:
mysql_affected_rows
取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。如果是SELECT 查询则使用mysql_num_rows()
但是为什么执行select的时候使用mysql_affected_rows也OK呢?
$sql="select id,name,age,sex from xtable";$result=mysql_query($sql);$rows = mysql_affected_rows();if($result && $rows ){    var_dump($rows);//输出结果的确是查询到的结果的行数}

回复讨论(解决方案)

这是 MySQL 的事情,php 只是调用了 mysql 的同名函数

mysql手册中是这样说的
my_ulonglong mysql_affected_rows(MYSQL *mysql)

描述

返回上次UPDATE更改的行数,上次DELETE删除的行数,或上次INSERT语句插入的行数。对于UPDATE、DELETE或INSERT语句,可在mysql_query()后立刻调用。对于SELECT语句,mysql_affected_rows()的工作方式与mysql_num_rows()类似。

这是 MySQL 的事情,php 只是调用了 mysql 的同名函数

mysql手册中是这样说的
my_ulonglong mysql_affected_rows(MYSQL *mysql)

描述

返回上次UPDATE更改的行数,上次DELETE删除的行数,或上次INSERT语句插入的行数。对于UPDATE、DELETE或INSERT语句,可在mysql_query()后立刻调用。对于SELECT语句,mysql_affected_rows()的工作方式与mysql_num_rows()类似。 对于SELECT语句,mysql_affected_rows()的工作方式与mysql_num_rows()类似。就是说在select的时候使用mysql_affected_rows也可以是吧。

是的
mysql 本身也是在发展变化的