English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Funktion mysqli_stmt_bind_result() bindet Variablen an die vorbereitete Anweisung, um Ergebnisse zu speichern
mysqli_stmt_bind_result()Funktion wird verwendet, um die Spalten des Ergebnissatzes an die Variable zu binden. Nach dem Binden der Variablen müssen Sie mysqli_stmt_fetch() Funktion um die Werte der Spalten in der spezifischen Variable zu erhalten.
mysqli_stmt_bind_result($stmt, $var1, $var2...);
Nummer | Parameter und Beschreibung |
---|---|
1 | stmt(Notwendig) Dies ist das Objekt, das die vorbereitete Anweisung darstellt. |
2 | var1(Notwendig) was bedeutet, dass die Variable gebunden werden soll. |
Der PHP-Funktion mysqli_stmt_bind_result() wird ein boolescher Wert zurückgegeben, im Erfolgsfall:true, im Falle eines Fehlers:false.
Diese Funktion wurde ursprünglich in der PHP-Version5eingeführt und kann in allen höheren Versionen verwendet werden.
Nachfolgender Beispiel zeigtmysqli_stmt_bind_result()Funktionssyntax (prozedurales Stil), das Ergebnis wird auf eine Variable gebunden:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, Vorname VARCHAR(255), Nachname VARCHAR(255), Geburtsort VARCHAR(255), Land VARCHAR(255))"); print("Tabelle erstellen.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')"); print("插入记录.....\n"); //检索表的内容 $stmt = mysqli_prepare($con, "SELECT * FROM myplayers"); //Anweisung ausführen mysqli_stmt_execute($stmt); //Werte in den Ergebnissen an Variablen binden mysqli_stmt_bind_result($stmt, $id, $fname, $lname, $pob, $country); while (mysqli_stmt_fetch($stmt)) { print("Id: ",$id,"\n"); print("fname: ",$fname,"\n"); print("lname: ",$lname,"\n"); print("pob: ",$pob,"\n"); print("country: ",$country,"\n"); print("\n"); } //Anweisung beenden mysqli_stmt_close($stmt); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
Tabellen erstellen..... 插入记录..... Id: 1 fname: Sikhar lname: Dhawan pob: Delhi country: India Id: 2 fname: Jonathan lname: Trott pob: CapeTown country: SouthAfrica Id: 3 fname: Kumara lname: Sangakkara pob: Matale country: Srilanka
在面向对象风格中,此函数的语法为$stmt-> bind_result();。以下是面向对象风格中此函数的示例,将变量绑定到结果集:
<?php //建立连接 $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT); $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27); print("Tabelle erstellen.....\n"); $stmt = $con -> prepare("SELECT * FROM Test WHERE Name in(?, ?); $stmt -> bind_param("ss", $name)1, $name2); $name1 = \ $name2 = \ print("Dokumente gelöscht.....\n"); //Anweisung ausführen $stmt->execute(); //Variablen an das Ergebnisset binden $stmt->bind_result($name, $age); while ($stmt->fetch()) { print("Name: "+$name+"\n"); print("Alter: "+$age+"\n"); } //Anweisung beenden $stmt->close(); //Verbindung schließen $con->close(); ?>
Ausgabeergebnis
Tabellen erstellen..... Dokumente gelöscht..... Name: Raju Alter: 25 Name: Rahman Alter: 30
Nachfolgender Beispiel verwendet mysqli_stmt_bind_result() und mysqli_stmt_fetch() Funktionen, um die Ergebnisse der DESCRIBE Abfrage zu erhalten und die Werte in die Variablen zu binden:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, Vorname VARCHAR(255), Nachname VARCHAR(255), Geburtsort VARCHAR(255), Land VARCHAR(255))"); print("Tabelle erstellen.....\n"); //Beschreibung der Tabelle $stmt = mysqli_prepare($con, "DESC myplayers"); //Anweisung ausführen mysqli_stmt_execute($stmt); //Werte in den Ergebnissen an Variablen binden mysqli_stmt_bind_result($stmt, $field, $type, $null, $key, $default, $extra); while (mysqli_stmt_fetch($stmt)) { print("Field: "+$field+"\n"); print("Type: "+$type+"\n"); print("Null: "+$null+"\n"); print("Key: "+$key+"\n"); print("Default: "+$default+"\n"); print("Extra: "+$extra+"\n"); print("\n"); } //Anweisung beenden mysqli_stmt_close($stmt); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
Tabellen erstellen..... Feld: ID Typ: int(11) Null: YES Schlüssel: Standard: Extra: Feld: First_Name Typ: varchar(255) Null: YES Schlüssel: Standard: Extra: Feld: Last_Name Typ: varchar(255) Null: YES Schlüssel: Standard: Extra: Feld: Place_Of_Birth Typ: varchar(255) Null: YES Schlüssel: Standard: Extra: Feld: Country Typ: varchar(255) Null: YES Schlüssel: Standard: Extra:
Der folgende Beispiel verwendet die Funktionen mysqli_stmt_bind_result() und mysqli_stmt_fetch(), um das Ergebnis der Abfrage SHOW TABLES abzurufen und alle Tabellen in der Datenbank aufzulisten:
<?php $con = mysqli_connect("localhost", "root", "password"); //Datenbank auswählen mysqli_query($con, "CREATE DATABASE NewDatabase"); mysqli_select_db($con, "NewDatabase"); //Tabellen erstellen mysqli_query($con, "CREATE TABLE test1(Name VARCHAR(255), Age INT)"); mysqli_query($con, "CREATE TABLE test2(Name VARCHAR(255), Age INT)"); mysqli_query($con, "CREATE TABLE test3(Name VARCHAR(255), Age INT)"); print("Erstelltene Tabellen...\n"); //Tabellenbeschreibung $stmt = mysqli_prepare($con, "SHOW TABLES"); //Anweisung ausführen mysqli_stmt_execute($stmt); //Werte in den Ergebnissen an Variablen binden mysqli_stmt_bind_result($stmt, $table_name); print("当前数据库中所有的表如下: \n"); while (mysqli_stmt_fetch($stmt)) { print($table_name."\n"); } //Anweisung beenden mysqli_stmt_close($stmt); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
Erstelltene Tabellen... 当前数据库中所有的表如下: test1 test2 test3