(PHP 5, PHP 7)
mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen.
Objektorientierter Stil
Prozeduraler Stil
Bindet Spalten der Ergebnismenge an Variablen.
Wenn mysqli_stmt_fetch() aufgerufen wird, um Daten abzuholen, dann
legt das MySQL-Client/Server-Protokoll die Daten der gebundenen Spalten in den spezifizierten
Variablen var1, ... ab.
Hinweis:
Alle Spalten müssen gebunden werden nach dem Aufruf von mysqli_stmt_execute() und vor dem Aufruf von mysqli_stmt_fetch(). Abhängig von den Typen der Spalten, können Variablen automatisch den entsprechenden PHP-Typ annehmen.
Eine Spalte kann jederzeit gebunden oder neu gebunden werden auch dann, wenn ein Ergebnis schon teilweise abgeholt worden ist. Die neue Bindung wird aktiv, wenn das nächste mal mysqli_stmt_fetch() aufgerufen wird.
stmtNur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.
var1Die Variable, die gebunden werden soll.
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Beispiel #1 Objektorientierter Stil
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* bereite Abfrage vor */
if ($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);
/* hole die Ergebnisse */
while ($stmt->fetch()) {
printf("%s %s\n", $col1, $col2);
}
/* schließe Abfrage */
$stmt->close();
}
/* schließe Verbindung */
$mysqli->close();
?>
Beispiel #2 Prozeduraler Stil
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* prüfe die Verbindung */
if (!$link) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* bereite Abfrage vor */
if ($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);
/* hole Ergebnisse */
while (mysqli_stmt_fetch($stmt)) {
printf("%s %s\n", $col1, $col2);
}
/* schließe Abfrage */
mysqli_stmt_close($stmt);
}
/* schließe Verbindung */
mysqli_close($link);
?>
Die obigen Bespiele erzeugen folgende Ausgabe:
AFG Afghanistan ALB Albania DZA Algeria ASM American Samoa AND Andorra