使用PHP mysqli获取UPDATE查询匹配的行数

Cor*_*Xii 12 php mysql mysqli

较旧的mysql扩展有CLIENT_FOUND_ROWS连接标志,但我找不到mysqli的任何等价物.

我有一个update查询,想知道它的where子句匹配了多少行,而不是实际更改了多少行(如图所示mysqli -> affected_rows).

到目前为止我唯一想到的方法是用正则表达式解析mysqli -> info(看起来像Rows matched: 40 Changed: 40 Warnings: 0).但这看起来很糟糕.

Wri*_*ken 5

它在 的选项中。 mysqli_real_connect

也在 PHP 5.3 中的 PDO::MySQL 中引入。


Zor*_*ayr 5

我使用了以下代码:

// Parse the digits from the info string that has the following format:
// Rows matched: 0 Changed: 0 Warnings: 0
preg_match_all('!\d+!', $mysqli->info, $m);
return $m[0][0]; 
Run Code Online (Sandbox Code Playgroud)