Apprenez à utiliser les instructions préparées par MySQLi pour les opérations de base de données
P粉838563523
2023-08-24 16:54:12
<p>J'essaie d'utiliser des instructions préparées, mais le code ci-dessous ne fonctionne pas. J'ai reçu l'erreur suivante : </p>
<blockquote>
<p>Erreur fatale : appel de la fonction membre non-objet execute() à la ligne 12 de /var/www/prepared.php</p>
</blockquote>
<pre class="brush:php;toolbar:false;"><?php
$mysqli = new mysqli("localhost", "root", "root", "test");
si ($mysqli->connect_errno) {
echo "Échec de la connexion à MySQL :" $mysqli->connect_error;
}
$stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?,?)");
//Insérer une ligne
$stmt->execute(array('one',1));
// Insère une autre ligne avec des valeurs différentes
$stmt->execute(array('two',1));
?>≪/pré>
<p>Dois-je également utiliser mysqli pour les instructions préparées ? Quelqu'un peut-il m'indiquer un exemple d'instruction préparée complète, comprenant les jointures, les insertions et les sélections, ainsi que la gestion des erreurs ? </p>
Vous pouvez également utiliser du PDO que je préfère. En fait, dans votre exemple de code, vous semblez confondre PDO et Mysqli.
Contrairement à MySQLi, vous n'avez pas besoin d'appeler une fonction de liaison distincte, bien que la fonctionnalité soit disponible si vous l'aimez/voulez/devez l'utiliser.
Une autre chose intéressante à propos du PDO sont les espaces réservés nommés, qui peuvent être moins déroutants dans les requêtes complexes :
De
mysqli::prepare
Documents :bind_param
Documentation.C'est-à-dire :