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
Prozeduraler Stil
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.
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);
}
Die oben gezeigten Beispiele erzeugen eine ähnliche Ausgabe wie:
AFG Afghanistan ALB Albania DZA Algeria ASM American Samoa AND Andorra
Siehe auch
- mysqli_stmt_get_result() - Gets a result set from a prepared statement as a mysqli_result object
- mysqli_stmt_bind_param() - Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)
- mysqli_stmt_execute() - Executes a prepared statement
- mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables
- mysqli_prepare() - Prepares an SQL statement for execution
- mysqli_stmt_prepare() - Prepares an SQL statement for execution