Función PHP mysqli_stmt_num_rows ()
Definición y uso
los mysqli_stmt_num_rows() La función acepta un objeto de declaración como parámetro y devuelve el número de filas en el conjunto de resultados de la declaración dada.
Sintaxis
mysqli_stmt_num_rows($stmt)
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | stmt(Mandatory) Este es un objeto que representa una declaración que ejecuta una consulta SQL. |
Valores devueltos
La función PHP mysqli_stmt_num_rows () devuelve un valor entero que indica el número de filas en el conjunto de resultados devuelto por la declaración.
Versión PHP
Esta función se introdujo por primera vez en PHP Versión 5 y funciona en todas las versiones posteriores.
Ejemplo
El siguiente ejemplo demuestra el uso de la función mysqli_stmt_num_rows () (en estilo procedimental):
<?php
$con = mysqli_connect("localhost", "root", "password", "mydb");
mysqli_query($con, "CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
print("Table Created.....\n");
mysqli_query($con, "insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
print("Records Inserted.....\n");
//Reading records
$stmt = mysqli_prepare($con, "SELECT * FROM Test");
//Executing the statement
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
//Number of rows
$count = mysqli_stmt_num_rows($stmt);
print("Number of rows in the table: ".$count."\n");
//Closing the statement
mysqli_stmt_close($stmt);
//Closing the connection
mysqli_close($con);
?>
Esto producirá el siguiente resultado:
Table Created.....
Records Inserted.....
Number of rows in the table: 3
Ejemplo
En el estilo orientado a objetos, la sintaxis de esta función es $ con-> num_rows; A continuación se muestra el ejemplo de esta función en el estilo orientado a objetos $ minus;
<?php
//Creating a connection
$con = new mysqli("localhost", "root", "password", "mydb");
$con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
print("Table Created.....\n");
$con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
print("Records Inserted.....\n");
$stmt = $con -> prepare( "SELECT * FROM Test");
//Executing the statement
$stmt->execute();
$stmt->store_result();
//Number of rows
$count = $stmt ->num_rows;
print("Rows affected ".$count);
//Closing the statement
$stmt->close();
//Closing the connection
$con->close();
?>
Esto producirá el siguiente resultado:
Table Created.....
Records Inserted.....
Number of rows in the table: 3
Ejemplo
Supongamos que hemos creado una tabla llamada jugadores de críquet con los siguientes datos $ menos;
mysql> select * from cricketers;
+----+------------+------------+---------------+----------------+
| ID | First_Name | Last_Name | Date_Of_Birth | Place_Of_Birth |
+----+------------+------------+---------------+----------------+
| 1 | Shikhar | Dhawan | 1981-12-05 | Delhi |
| 2 | Jonathan | Trott | 1981-04-22 | CapeTown |
| 3 | Kumara | Sangakkara | 1977-10-27 | Matale |
| 4 | Virat | Kohli | 1988-11-05 | Delhi |
| 5 | Rohit | Sharma | 1987-04-30 | Nagpur |
| 6 | Ravindra | Jadeja | 1988-12-06 | Nagpur |
+----+------------+------------+---------------+----------------+
6 rows in set (0.07 sec)
Si intenta invocar esta función directamente, dado que los resultados aún no se han almacenado, devuelve 0 -
<?php
$con = mysqli_connect("localhost", "root", "password", "mydb");
//Reading records
$stmt = mysqli_prepare($con, "SELECT * FROM cricketers");
//Executing the statement
mysqli_stmt_execute($stmt);
print("Number of rows in the table: ".mysqli_stmt_num_rows($stmt));
//Closing the statement
mysqli_stmt_close($stmt);
//Closing the connection
mysqli_close($con);
?>
Esto producirá el siguiente resultado:
Number of rows in the table: 0