Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen

# mysqli_stmt::bind_result

# mysqli_stmt_bind_result

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen

### Beschreibung

Objektorientierter Stil

public function mysqli_stmt::bind_result(mixed `&$var`, mixed `&...$vars`): bool

Prozeduraler Stil

function mysqli_stmt_bind_result(mysqli_stmt `$statement`, mixed `&$var`, mixed `&...$vars`): bool

Bindet Spalten der Ergebnismenge an Variablen.

Wenn mysqli_stmt_fetch() aufgerufen wird, um Daten abzurufen, dann legt das MySQL-Client-/Serverprotokoll die Daten der gebundenen Spalten in den spezifizierten Variablen `var`/`vars` ab.

Eine Spalte kann jederzeit gebunden oder neu gebunden werden, auch nachdem eine Ergebnismenge teilweise abgerufen wurde. Die neue Bindung wird beim nächsten Mal wirksam, wenn mysqli_stmt_fetch() aufgerufen wird.

> Hinweis:

> Alle Spalten müssen nach dem Aufruf von mysqli_stmt_execute() und vor dem Aufruf von mysqli_stmt_fetch() gebunden werden.

> Hinweis:

> Abhängig vom Typ der Spalte können Variablen automatisch den entsprechenden PHP-Typ annehmen.

Tipp

Diese Funktion ist nützlich für einfache Ergebnisse. Verwenden Sie mysqli_stmt_get_result(), um iterierbare Ergebnismengen abzurufen oder um jeden Datensatz als Array oder Objekt abzurufen.

### Parameter-Liste

`statement`

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

`var`

  Die erste Variable, die gebunden werden soll.

`vars`

  Weitere zu bindende Variablen.

### Rückgabewerte

Gibt bei Erfolg `true` zurück. Bei einem Fehler wird `false` zurückgegeben.

### Beispiele

Beispiel #1 Objektorientierter Stil

`<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* bereite Abfrage vor */
$stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5");
$stmt->execute();
/* binde Variablen an die Ergebnismenge */
$stmt->bind_result($col1, $col2);
/* rufe die Ergebnisse ab */
while ($stmt->fetch()) {
printf("%s %s\n", $col1, $col2);
}`

Beispiel #2 Prozeduraler Stil

`<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* bereite Abfrage vor */
$stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5");
mysqli_stmt_execute($stmt);
/* binde Variablen an die Ergebnismenge */
mysqli_stmt_bind_result($stmt, $col1, $col2);
/* rufe die Ergebnisse ab */
while (mysqli_stmt_fetch($stmt)) {
printf("%s %s\n", $col1, $col2);
}`

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

    AFG Afghanistan
    ALB Albania
    DZA Algeria
    ASM American Samoa
    AND Andorra

### Siehe auch

- mysqli_stmt_get_result() - Ruft die Ergebnismenge aus einer vorbereiteten Anweisung als mysqli_result-Objekt ab
- mysqli_stmt_bind_param() - Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)
- mysqli_stmt_execute() - Führt eine vorbereitete Anweisung aus
- mysqli_stmt_fetch() - Ruft Ergebnisse aus einer vorbereiteten Anweisung in gebundene Variablen ab
- mysqli_prepare() - Bereitet eine SQL-Anweisung zur Ausführung vor
- mysqli_stmt_prepare() - Bereitet eine SQL-Anweisung zur Ausführung vor

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