使用php在mysql中获取更新row_count

时间:2009-12-21 16:22:10

标签: php mysql

这是一个非常简单的例子:

我有一个包含两列{@ 1}}和id的表格。我想知道何时成功完成更新,并将成功定义为应用于现有行。

PHP似乎只提供password,它不区分受影响的0行和更新的0行。 http://php.net/manual/en/function.mysql-affected-rows.php这很尴尬,因为返回值取决于事务处理时的行状态。在Postgresql中,您可以通过两种方式获取mysql_affeted_rows(),将UPDATE foo SET bar = NULL中的行更新返回;然而,foo将通过限制更新来返回受影响的行数。

不要建议先前的UPDATE foo SET bar = NULL WHERE bar IS NOT NULL或PHP计数器var,假设有一行。我想知道获取Pg功能的聪明方法,而不需要冗余查询。

2 个答案:

答案 0 :(得分:1)

mysql_affected_rows将始终返回UPDATE更新的行数。

换句话说,如果给出相同的起始数据,它将为UPDATE foo SET bar = NULL返回与UPDATE foo SET bar = NULL WHERE bar IS NOT NULL相同的行数。

或者至少就是你在链接的手册页上记录的方式,在返回值标题下。

答案 1 :(得分:1)

mysqli函数num_rows是否符合您的需求?