registros num_rows mysqli_result mysqli_query mysqli_num_rows mysqli_fetch_array ejemplos contar consulta assoc php mysql mysqli

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];