PHP/mysql获取UPDATE语句的受影响行数

cla*_*amp 11 php mysql

使用php/mysql,我如何获得查询影响的行数?

到目前为止我尝试了什么:

$result = mysql_query($q);
mysql_num_rows($result);
Run Code Online (Sandbox Code Playgroud)

但它说警告:mysql_num_rows():提供的参数不是有效的MySQL结果资源

oez*_*ezi 15

如果您正在使用PDO(我建议使用),直接查询exec()将返回受影响的行数.对于准备好的语句,有一个叫做的方法rowCount().

如果你正在使用mysql函数,那就是mysql_affected_rows().

编辑:
好像你正在使用mysql函数.mysql_num_rows,您正在使用的,返回结果集的长度(例如,对于SELECT-Statements).你需要使用的是mysql_affected_rows(如前所述).

  • **警告**此扩展在PHP 5.5.0中已弃用,并已在PHP 7.0.0中删除[参考](http://de2.php.net/manual/en/function.mysql-affected-rows. PHP#function.mysql,受影响的行-refsynopsisdiv) (2认同)

Dev*_*art 6

您也可能想要使用ROW_COUNT()函数,例如 -

UPDATE table1 SET column1 = 100 WHERE column2 = 10;
SELECT ROW_COUNT();
Run Code Online (Sandbox Code Playgroud)

从引用 - ROW_COUNT()返回最后一个语句更改,删除或插入的行数(如果它是UPDATE,DELETE或INSERT)...