num_rows - Obtenga el número de filas que coincidan con la consulta de ACTUALIZACIÓN con PHP mysqli
mysqli_result (5)
Puede ejecutar SELECT COUNT(*) con la misma cláusula WHERE antes de ejecutar UPDATE. Eso le dará un recuento de la cantidad de filas que se emparejarán.
La antigua extensión mysql tiene el CLIENT_FOUND_ROWS conexión CLIENT_FOUND_ROWS , pero no pude encontrar ningún equivalente para mysqli .
Tengo una consulta de update y quiero saber cuántas filas coinciden con la cláusula where , no cuántas se cambiaron realmente (como lo indica mysqli -> affected_rows ).
La única forma que he descubierto hasta ahora es analizar mysqli -> info (que se parece a Rows matched: 40 Changed: 40 Warnings: 0 ) con una expresión regular. Pero eso parece hacky.
También SELECT ROW_COUNT() puede dar el número de filas afectadas por la consulta de actualización.
Use el siguiente código:
// 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];
está en las opciones de mysqli_real_connect .
También se introdujo en PDO :: MySQL en PHP 5.3.
Hice una función de explosión en los resultados devueltos por el comando de información y luego tomé el índice [1].
$ affected = explode (":", $ connection-> info); $ rowsAffected = $ affected [1];