English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La fonction mysqli_stmt_prepare() prépare une instruction SQL pour son exécution
mysqli_stmt_prepare()La fonction mysqli_stmt_prepare() prépare une instruction SQL pour son exécution, vous pouvez utiliser des marqueurs de paramètres ("?"). Dans cette requête, vous leur attribuez des valeurs et les exécutez plus tard.
mysqli_stmt_prepare($stmt, $str);
Numéro | Paramètres et descriptions |
---|---|
1 | stmt(nécessaire) C'est un objet représentant l'instruction (retourné par la fonction mysqli_stmt_init()). |
2 | str(nécessaire) C'est la valeur de chaîne spécifiant la requête requise. |
Cette fonction retourne une valeur booléenne,sisi réussi, retournetrue;si l'échec, retournefalse。
Cette fonction a été initialement introduite dans la version PHP5a été introduite et peut être utilisée dans toutes les versions supérieures.
L'exemple suivant montre quemysqli_stmt_prepare()Utilisation de la fonction (style procédural)-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); $query = "CREATE TABLE Test(Name VARCHAR(255), ÂGE INT)"; mysqli_query($con, $query); print("Créer une table.....\n"); //Initialiser l'instruction $stmt = mysqli_stmt_init($con); mysqli_stmt_prepare($stmt, "INSERT INTO Test values(?, ?)"); mysqli_stmt_bind_param($stmt, "si", $Name, $Age); $Name = 'Raju'; $Age = 25; print("Insérer un enregistrement....."); //Exécuter l'instruction mysqli_stmt_execute($stmt); //Terminer l'instruction mysqli_stmt_close($stmt); //Fermer la connexion mysqli_close($con); ?>
Afficher le résultat
Créer une table..... Insérer un enregistrement.....
Dans un style orienté objet, la syntaxe de cette fonction est :$stmt-> prepare();。Voici un exemple de cette fonction dans un style orienté objet ;
<?php $con = new mysqli("localhost", "root", "password", "mydb"); $query = "CREATE TABLE Test(Name VARCHAR(255), ÂGE INT)"; $con-> query($query); print("Créer une table.....\n"); //Initialiser l'instruction $stmt = $con-> stmt_init(); $stmt-> préparer("INSERT INTO Test values(?, ?)"); $stmt-> bind_param("si", $Name, $Age); $Name = 'Raju'; $Age = 25; print("Insérer un enregistrement....."); //Exécuter l'instruction $stmt->exécuter(); //Terminer l'instruction $stmt->fermer(); //Fermer la connexion $con->fermer(); ?>
Afficher le résultat
Créer une table..... Insérer un enregistrement.....
Voyons un autre exemple de cette fonction utilisant une requête SELECT (style orienté objet)-
<?php //Établir la connexion $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE myplayers(ID INT, Prénom VARCHAR(255), Nom_de_Famille VARCHAR(255), Lieu_de_Naissance VARCHAR(255), Pays VARCHAR(255))"); print("Créer une table.....\n"); $con -> query("INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'Inde')"); $con -> query("INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'Cape Town', 'Afrique du Sud')"); $con -> query("INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')"); $con -> query("INSERT INTO myplayers values(4, 'Virat', 'Kohli', 'Delhi', 'India')"); print("Insérer un enregistrement.....\n"); //Initialiser l'objet instruction $stmt = $con-> stmt_init(); $stmt -> préparer("SELECT * FROM myplayers WHERE country=?); $stmt -> bind_param("s", $country); $country = "India"; //Exécuter l'instruction $stmt->exécuter(); //Terminer l'instruction $stmt->fermer(); //Fermer la connexion $con->fermer(); ?>
Afficher le résultat
Créer une table..... Insérer un enregistrement.....