mysqli_stmt::bind_result

mysqli_stmt_bind_result

(PHP 5, PHP 7)

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

Beschreibung

Objektorientierter Stil

mysqli_stmt::bind_result ( mixed &$var1 [, mixed &$... ] ) : bool

Prozeduraler Stil

mysqli_stmt_bind_result ( mysqli_stmt $stmt , mixed &$var1 [, mixed &$... ] ) : bool

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.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

var1

Die Variable, die gebunden werden soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

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

Siehe auch