English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La fonction mysqli_stmt_bind_result() lie les variables à la déclaration préparée pour stocker les résultats
mysqli_stmt_bind_result()La fonction est utilisée pour lier les colonnes du jeu de résultats à des variables. Après avoir lié les variables, vous devez appeler mysqli_stmt_fetch() La fonction est utilisée pour obtenir les valeurs des colonnes d'une variable spécifique.
mysqli_stmt_bind_result($stmt, $var1, $var2...);
Numéro | Paramètres et descriptions |
---|---|
1 | stmt(obligatoire) C'est l'objet représentant la déclaration préparée. (obligatoire) |
2 | var1(obligatoire) ce qui signifie que les variables doivent être liées aux colonnes. |
La fonction PHP mysqli_stmt_bind_result() retourne une valeur booléenne, true en cas de succès :true, en cas d'échec :false.
Cette fonction a été introduite pour la première fois dans la version PHP :5introduite et utilisable dans toutes les versions supérieures.
Les exemples suivants montrent que :mysqli_stmt_bind_result()L'utilisation de la fonction (style procédural), lier le résultat à une variable :
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("Creating table.....\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("Insérer un enregistrement.....\n"); //Récupérer le contenu de la table $stmt = mysqli_prepare($con, "SELECT * FROM myplayers"); //Execute Statement mysqli_stmt_execute($stmt); //Bind the values in the result to the variables 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"); } //End Statement mysqli_stmt_close($stmt); //Close Connection mysqli_close($con); ?>
Output Result
Table Creation..... Insérer un enregistrement..... 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
Dans un style orienté objet, la syntaxe de cette fonction est$stmt-> bind_result();。Voici un exemple de cette fonction dans un style orienté objet, où les variables sont liées au jeu de résultats :
<?php //Établir la connexion $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("Creating table.....\n"); $stmt = $con -> préparer("SELECT * FROM Test WHERE Name in(?, ?); $stmt -> bind_param("ss", \1, \2); $name1 = \ $name2 = \ print("Records Deleted.....\n"); //Execute Statement $stmt->execute(); //Bind variables to the result set $stmt->bind_result($name, $age); while ($stmt->fetch()) { print("Name: ".$name."\n"); print("Age: ".$age."\n"); } //End Statement $stmt->close(); //Close Connection $con->close(); ?>
Output Result
Table Creation..... Records Deleted..... Name: Raju Age: 25 Name: Rahman Age: 30
The following example uses the mysqli_stmt_bind_result() and mysqli_stmt_fetch() functions to retrieve the results of a DESCRIBE query and bind the values in the results to variables:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("Creating table.....\n"); //Description of the table $stmt = mysqli_prepare($con, "DESC myplayers"); //Execute Statement mysqli_stmt_execute($stmt); //Bind the values in the result to the variables 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"); } //End Statement mysqli_stmt_close($stmt); //Close Connection mysqli_close($con); ?>
Output Result
Table Creation..... Field: ID Type: int(11) Null: YES Key: Default: Extra: Field: First_Name Type: varchar(255) Null: YES Key: Default: Extra: Field: Last_Name Type: varchar(255) Null: YES Key: Default: Extra: Field: Place_Of_Birth Type: varchar(255) Null: YES Key: Default: Extra: Field: Country Type: varchar(255) Null: YES Key: Default: Extra:
The following example uses the mysqli_stmt_bind_result() and mysqli_stmt_fetch() functions to obtain the results of the SHOW TABLES query, listing all the tables in the database:
<?php $con = mysqli_connect("localhost", "root", "password"); //Selecting the database mysqli_query($con, "CREATE DATABASE NewDatabase"); mysqli_select_db($con, "NewDatabase"); //Creating tables 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("Tables Created.....\n"); //Table Description $stmt = mysqli_prepare($con, "SHOW TABLES"); //Execute Statement mysqli_stmt_execute($stmt); //Bind the values in the result to the variables mysqli_stmt_bind_result($stmt, $table_name); print("The following tables are all in the current database: \n"); while (mysqli_stmt_fetch($stmt)) { print($table_name."\n"); } //End Statement mysqli_stmt_close($stmt); //Close Connection mysqli_close($con); ?>
Output Result
Tables Created..... The following tables are all in the current database: test1 test2 test3