English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La fonction mysqli_prepare() prépare l'exécution d'une instruction SQL
La fonction mysqli_prepare() prépare l'exécution d'une instruction SQL, retourne un gestionnaire de statement, sur lequel vous pouvez effectuer des opérations ultérieures. Vous pouvez utiliser des marqueurs de paramètres ("?") dans cette requête pour leur assigner une valeur, puis les exécuter plus tard.
Ici, seules les instructions SQL uniques sont prises en charge, pas plusieurs instructions SQL.
Avant d'exécuter l'instruction, il est nécessaire d'utiliser la fonction mysqli_stmt_bind_param() pour lier les paramètres de substitution. De même, avant de récupérer les résultats, il est nécessaire d'utiliser la fonction mysqli_stmt_bind_result() pour lier les valeurs de colonnes retournées.
mysqli_prepare($con, $str);
numéro | paramètres et explications |
---|---|
1 | con(nécessaire) C'est un objet représentant la connexion au serveur MySQL. |
2 | str(nécessaire) C'est la valeur de chaîne spécifiée pour la requête demandée. |
Si le succès, cette fonction retourne un objet statement, sinon, elle retournefalse。
Cette fonction a été introduite dans la version PHP5introduit dans et disponible dans toutes les versions plus élevées.
Le following exemple montremysqli_prepare()Utilisation de la fonction (style procédural)-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; mysqli_query($con, $query); print("Créer une table.....\n"); $stmt = mysqli_prepare($con, "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.....
Si vous vérifiez le contenu de la table, comme suit, $ tiret;
mysql> select * from test; +------+------+ | Name | AGE | +------+------+ | Raju | 25 | +------+------+ 1 row in set (0.00 sec)
Dans le style orienté objet, la syntaxe de cette fonction est$ con-> préparer();。Voici un exemple de la fonction This du style orienté objet $ minus ;
<?php //Établir une connexion $con = new mysqli("localhost", "root", "password", "mydb"); $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; $con -> query($query); print("Créer une table.....\n"); $stmt = $con -> prepare( "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.....