English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel PHP de base

Tutoriel PHP avancé

PHP & MySQL

Manuel de référence PHP

Utilisation et exemples de la fonction PHP mysqli_stmt_bind_result()

PHP MySQLi Reference Manual

La fonction mysqli_stmt_bind_result() lie les variables à la déclaration préparée pour stocker les résultats

Définition et utilisation

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.

Syntaxe

mysqli_stmt_bind_result($stmt, $var1, $var2...);

Paramètres

NuméroParamè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.

Valeur de retour

La fonction PHP mysqli_stmt_bind_result() retourne une valeur booléenne, true en cas de succès :true, en cas d'échec :false.

Version PHP

Cette fonction a été introduite pour la première fois dans la version PHP :5introduite et utilisable dans toutes les versions supérieures.

Online Example

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

Online Example

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

Online Example

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:

Online Example

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

PHP MySQLi Reference Manual