The older mysql extension has the CLIENT_FOUND_ROWS connection flag, but I couldn't find any equivalent for mysqli.
I have an update query and want to know how many rows its where clause matched, not how many were actually changed (as indicated by mysqli -> affected_rows).
The only way I've figured out so far is to parse mysqli -> info (which looks something like Rows matched: 40 Changed: 40 Warnings: 0) with a regex. But that seems hacky.