Función PHP mysqli_fetch_object ()
Definición y uso
Un objeto de resultado PHP (de la clase mysqli_result) representa el resultado de MySQL, devuelto por las consultas SELECT o, DESCRIBE o EXPLAIN.
La función mysqli_fetch_object () acepta un objeto de resultado como parámetro y recupera el contenido de la fila actual en el resultado dado y lo devuelve como un objeto.
Sintaxis
mysqli_fetch_object($result, [$class_name, $params]);
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | result(Mandatory) Este es un identificador que representa un objeto de resultado. |
2 | class_name(Optional) El nombre de la clase para instanciar, establecer las propiedades y devolver. |
3 | params(Optional) Una matriz que representa los parámetros opcionales. |
Valores devueltos
La función PHP mysqli_fetch_object () devuelve un objeto (con propiedades de cadena) que contiene la fila actual del objeto de resultado. Esta función devuelve NULL si no hay más filas.
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_fetch_object () (en estilo procedimental):
<?php
$con = mysqli_connect("localhost", "root", "password", "mydb");
mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
print("Table Created.....\n");
mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')");
mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')");
mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')");
print("Record Inserted.....\n");
//Retrieving the contents of the table
$res = mysqli_query($con, "SELECT * FROM myplayers");
//Fetching all the rows as objects
while($obj = mysqli_fetch_object($res)){
print("ID: ".$obj->ID."\n");
print("First_Name: ".$obj->First_Name."\n");
print("Last_Name: ".$obj->Last_Name."\n");
print("Place_Of_Birth: ".$obj->Place_Of_Birth."\n");
print("Country: ".$obj->Country."\n");
}
//Closing the statement
mysqli_free_result($res);
//Closing the connection
mysqli_close($con);
?>
Esto producirá el siguiente resultado:
Table Created.....
Record Inserted.....
ID: 1
First_Name: Sikhar
Last_Name: Dhawan
Place_Of_Birth: Delhi
Country: India
ID: 2
First_Name: Jonathan
Last_Name: Trott
Place_Of_Birth: CapeTown
Country: SouthAfrica
ID: 3
First_Name: Kumara
Last_Name: Sangakkara
Place_Of_Birth: Matale
Country: Srilanka
Ejemplo
En el estilo orientado a objetos, la sintaxis de esta función es $ resultado-> fetch_object (); 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)");
$con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
print("Table Created.....\n");
$stmt = $con -> prepare( "SELECT * FROM Test WHERE Name in(?, ?)");
$stmt -> bind_param("ss", $name1, $name2);
$name1 = 'Raju';
$name2 = 'Rahman';
//Executing the statement
$stmt->execute();
//Retrieving the result
$result = $stmt->get_result();
//Fetching all the rows as arrays
while($obj = $result->fetch_object()){
print("Name: ".$obj->Name."\n");
print("Age: ".$obj->Age."\n");
}
//Closing the statement
$stmt->close();
//Closing the connection
$con->close();
?>
Esto producirá el siguiente resultado:
Table Created.....
Name: Raju
Age: 25
Name: Rahman
Age: 30