English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Funktion mysqli_fetch_object() holt die aktuelle Zeile aus der Ergebnismenge und gibt sie als Objekt zurück.
Hinweis: Die von der Funktion zurückgegebenen Feldnamen sind groß-/kleinschreibungsabhängig.
Ein PHP-Ergebnisobjekt (mysqli_result-Klasse) stellt die MySQL-Ergebnisse, die durch SELECT oder DESCRIBE oder EXPLAIN-Abfragen zurückgegeben werden, dar.
mysqli_fetch_object()Die Funktion akzeptiert ein Ergebnisobjekt als Parameter,检索给定结果中的当前行内容,并将它们作为一个对象 zurückgibt.
mysqli_fetch_object($result, [$class_name, $params]);
Nummer | Parameter und Beschreibung |
---|---|
1 | result (notwendig) Dies ist der Identifikator für das Ergebnisobjekt. |
2 | class_name (optional) Der Name der Klasse, die instanziert werden soll, deren Attribute gesetzt und zurückgegeben werden. |
3 | params (optional) Geben Sie ein Parameter-Array an, das an den Konstruktor der class_name-Objekt übergeben wird. |
Die Funktion mysqli_fetch_object() gibt ein Objekt (mit String-Attributen) zurück, das die aktuelle Zeile des Ergebnisobjekts speichert. Wenn keine weiteren Zeilen vorhanden sind, gibt diese Funktion NULL zurück.
Diese Funktion wurde ursprünglich in PHP-Version5eingeführt und kann in allen höheren Versionen verwendet werden.
Nachfolgender Beispiel zeigtmysqli_fetch_object()Verwendung der Funktion (prozeduraler Stil), gibt alle Zeilen des Ergebnisses zurück und gibt den Wert jedes Felds aus:
<?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("Tabelle erstellen.....\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("Einen Eintrag einfügen.....\n"); //Inhalt der Tabelle abrufen $res = mysqli_query($con, "SELECT * FROM myplayers"); //Alle Zeilen als Objekte abrufen 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"); } //Anweisung beenden mysqli_free_result($res); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
Tabelle erstellen..... Einen Eintrag einfügen..... ID: 1 First_Name: Sikhar Nachname: Dhawan Geburtsort: Delhi Land: Indien ID: 2 Vorname: Jonathan Nachname: Trott Geburtsort: Cape Town Land: Südafrika ID: 3 Vorname: Kumara Nachname: Sangakkara Geburtsort: Matale Land: Sri Lanka
In der objektorientierten Syntax ist die Syntax dieser Funktion$result-> fetch_object();。Hier ist ein Beispiel für diese Funktion im objektorientierten Stil;
<?php //Verbindung herstellen $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE Test(Name VARCHAR(255), Alter INT)"); $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)"); print("Tabelle erstellen.....\n"); $stmt = $con -> prepare( "SELECT * FROM Test WHERE Name in(?, ?)"); $stmt -> bind_param("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; //Anweisung ausführen $stmt->execute(); //Suchergebnis $result = $stmt->get_result(); //Alle Zeilen als Array erhalten while($obj = $result->fetch_object()){ print("Name: ".$obj->Name."\n"); print("Alter: ".$obj->Alter."\n"); } //Anweisung beenden $stmt->close(); //Verbindung schließen $con->close(); ?>
Ausgabeergebnis
Tabelle erstellen..... Name: Raju Alter: 25 Name: Rahman Alter: 30