Ruft Ergebnisse aus einer vorbereiteten Anweisung in gebundene Variablen ab

# mysqli_stmt::fetch

# mysqli_stmt_fetch

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::fetch -- mysqli_stmt_fetch — Ruft Ergebnisse aus einer vorbereiteten Anweisung in gebundene Variablen ab

### Beschreibung

Objektorientierter Stil

public function mysqli_stmt::fetch(): ?bool

Prozeduraler Stil

function mysqli_stmt_fetch(mysqli_stmt `$statement`): ?bool

Ruft das Ergebnis einer vorbereiteten Anweisung in die Variablen ab, die durch mysqli_stmt_bind_result() gebunden wurden.

> Hinweis:

> Es ist zu beachten, dass alle Spalten durch die Anwendung gebunden werden müssen, bevor mysqli_stmt_fetch() aufgerufen wird.

> Hinweis:

> Die Daten werden ungepuffert übertragen, ohne die Funktion mysqli_stmt_store_result() aufzurufen, was die Leistung verringern kann (aber den Speicherbedarf reduziert).

### Parameter-Liste

`statement`

  Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes mysqli_stmt-Objekt.

### Rückgabewerte

Rückgabewerte
Wert | Beschreibung
--- | ---
`true` | Erfolg. Die Daten wurden abgerufen
`false` | Es ist ein Fehler aufgetreten
`null` | Es gibt keine weiteren Zeilen/Daten oder die Daten wurden abgeschnitten

### Fehler/Exceptions

If mysqli error reporting is enabled (`MYSQLI_REPORT_ERROR`) and the requested operation fails, a warning is generated. If, in addition, the mode is set to `MYSQLI_REPORT_STRICT`, a mysqli_sql_exception is thrown instead.

### Beispiele

Beispiel #1 Objektorientierter Stil

`<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Verbindung überprüfen */
if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";
if ($stmt = $mysqli->prepare($query)) {
/* Anweisung ausführen */
$stmt->execute();
/* Ergebnisvariablen binden */
$stmt->bind_result($name, $code);
/* Werte abrufen */
while ($stmt->fetch()) {
printf ("%s (%s)\n", $name, $code);
}
/* Anweisung schließen */
$stmt->close();
}
/* Verbindung schließen */
$mysqli->close();
?>`

Beispiel #2 Prozeduraler Stil

`<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Verbindung überprüfen */
if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";
if ($stmt = mysqli_prepare($link, $query)) {
/* Anweisung ausführen */
mysqli_stmt_execute($stmt);
/* Ergebnisvariablen binden */
mysqli_stmt_bind_result($stmt, $name, $code);
/* Werte abrufen */
while (mysqli_stmt_fetch($stmt)) {
printf ("%s (%s)\n", $name, $code);
}
/* Anweisung schließen */
mysqli_stmt_close($stmt);
}
/* Verbindung schließen */
mysqli_close($link);
?>`

Die obigen Bespiele erzeugen folgende Ausgabe:

    Rockford (USA)
    Tallahassee (USA)
    Salinas (USA)
    Santa Clarita (USA)
    Springfield (USA)

### Siehe auch

- mysqli_prepare() - Bereitet eine SQL-Anweisung zur Ausführung vor
- mysqli_stmt_errno() - Liefert den Fehlercode der zuletzt aufgerufenen Anweisung
- mysqli_stmt_error() - Liefert die Beschreibung des letzten Fehlers einer Anweisung als Zeichenkette
- mysqli_stmt_bind_result() - Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen

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