Liefert die nächste Zeile einer Ergebnismenge als Objekt

# mysqli_result::fetch_object

# mysqli_fetch_object

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_object -- mysqli_fetch_object — Liefert die nächste Zeile einer Ergebnismenge als Objekt

### Beschreibung

Objektorientierter Stil

public function mysqli_result::fetch_object(string `$class` = "stdClass", array `$constructor_args` = []): object|null|false

Prozeduraler Stil

function mysqli_fetch_object(mysqli_result `$result`, string `$class` = "stdClass", array `$constructor_args` = []): object|null|false

Ruft eine Zeile aus der Ergebnismenge ab und gibt sie als Objekt zurück, wobei die Eigenschaften die Namen der Spalten der Ergebnismenge darstellen. Jeder nachfolgende Aufruf dieser Funktion gibt die nächste Zeile der Ergebnismenge zurück oder `null`, wenn es keine weitere Zeile gibt.

Wenn zwei oder mehr Spalten des Ergebnisses den gleichen Namen haben, hat die letzte Spalte Vorrang und überschreibt alle vorherigen Daten. Um auf mehrere Spalten mit demselben Namen zuzugreifen, kann die Funktion mysqli_fetch_row() verwendet werden, um ein numerisch indiziertes Array abzurufen, oder es können Aliase in der Select-Liste der SQL-Abfrage verwendet werden, um den Spalten unterschiedliche Namen zu geben.

> Hinweis: Diese Funktion legt die Eigenschaften des Objekts fest, bevor sie den Konstruktor des Objekts aufruft.

> Hinweis: Bei den Spaltennamen, die von dieser Funktion zurückgegeben werden, wird zwischen Groß- und Kleinschreibung unterschieden.

> Hinweis: Diese Funktion setzt NULL-Felder auf den PHP-Wert `null`.

### Parameter-Liste

`result`

  Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result(), mysqli_use_result() oder mysqli_stmt_get_result() zurückgegebenes mysqli_result-Objekt.

`class`

  Der Name der Klasse, die instanziiert, mit ihren Eigenschaften versehen und zurückgegeben werden soll. Wenn nicht angegeben, wird ein stdClass-Objekt zurückgegeben.

`constructor_args`

  Ein optionales Array von Parametern, das an den Konstruktor des Objekts `class` übergeben werden soll.

### Rückgabewerte

Gibt ein Objekt zurück, das die abgerufene Zeile enthält, wobei die Eigenschaften die Namen der Spalten der Ergebnismenge angeben, oder `null`, wenn es keine weitere Zeile in der Ergebnismenge gibt. Bei einem Fehler wird `false` zurückgegeben.

### Fehler/Exceptions

Wenn `constructor_args` nicht leer ist, die Klasse aber keinen Konstruktor hat, wird ein ValueError geworfen.

### Changelog

Version | Beschreibung
--- | ---
8.3.0 | Wenn `constructor_args` nicht leer ist, die Klasse aber keinen Konstruktor hat, wird nun ein ValueError geworfen; zuvor wurde eine Exception geworfen.
8.0.0 | Der Parameter `constructor_args` akzeptiert bei Konstruktoren mit 0 Parametern nun `[]`; zuvor wurde eine Exception geworfen.

### Beispiele

Beispiel #1 mysqli_result::fetch_object()-Beispiel

Objektorientierter Stil

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    $query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

    $result = $mysqli->query($query);

    while ($obj = $result->fetch_object()) {
        printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

Prozeduraler Stil

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");

    $query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

    $result = mysqli_query($link, $query);

    while ($obj = mysqli_fetch_object($result)) {
        printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

    Pueblo (USA)
    Arvada (USA)
    Cape Coral (USA)
    Green Bay (USA)
    Santa Clara (USA)

### Siehe auch

- mysqli_fetch_array() - Ruft die nächste Zeile einer Ergebnismenge als assoziatives und/oder numerisches Array ab
- mysqli_fetch_assoc() - Ruft die nächste Zeile einer Ergebnismenge als assoziatives Array ab
- mysqli_fetch_column() - Ruft eine einzelne Spalte aus der nächsten Zeile einer Ergebnismenge ab
- mysqli_fetch_row() - Liefert die nächste Zeile einer Ergebnismenge als numerisches Array
- mysqli_query() - Führt eine Abfrage in einer Datenbank durch
- mysqli_data_seek() - Verschiebt den Ergebniszeiger auf die angegebene Zeile

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open