较旧的mysql扩展有CLIENT_FOUND_ROWS连接标志,但我找不到mysqli的任何等价物.
我有一个update查询,想知道它的where子句匹配了多少行,而不是实际更改了多少行(如图所示mysqli -> affected_rows).
到目前为止我唯一想到的方法是用正则表达式解析mysqli -> info(看起来像Rows matched: 40 Changed: 40 Warnings: 0).但这看起来很糟糕.
我使用了以下代码:
// 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)