Plusieurs requêtes peuvent-elles être préparées dans une seule instruction mysqli ?
Dans MySQL, une instruction préparée n'exécute qu'une seule requête. Bien qu'il ne soit pas possible de préparer plusieurs requêtes dans une seule instruction, vous pouvez créer des instructions préparées distinctes pour chaque requête.
Considérez l'exemple suivant :
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)"); $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");
Ici, deux instructions préparées ($ stmtUser et $stmtProc) ont été créés. Vous pouvez ensuite exécuter ces instructions selon vos besoins :
$stmtUser->execute(); $stmtProc->execute();
Si vous devez vous assurer que les deux requêtes sont exécutées ensemble, vous pouvez utiliser une transaction pour les regrouper. Une transaction garantit que soit les deux requêtes sont exécutées, soit aucune ne l'est.
Conseil : Une erreur « appel à une fonction membre sur un non-objet » indique souvent que prepare() a échoué. Vérifiez la requête dans prepare() pour résoudre tout problème.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!