MySQLi peut-il préparer plusieurs requêtes dans une seule instruction ?
Dans MySQLi, il existe des limites à la préparation de plusieurs requêtes dans une seule instruction. Une instruction préparée ne peut exécuter qu'une seule requête MySQL. Cependant, vous pouvez préparer autant d'instructions que nécessaire, en les stockant dans différentes variables. Voici un exemple :
<code class="php">$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)"); $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");</code>
Plus tard, vous pourrez exécuter ces instructions indépendamment :
<code class="php">$stmtUser->execute(); $stmtProc->execute();</code>
Si vous exigez que les deux instructions soient exécutées avec succès ou pas du tout, envisagez d'utiliser des transactions.
Gestion des erreurs :
Si vous rencontrez l'erreur « Appel à une fonction membre bind_param() sur un non-objet », cela indique que l'appel prepare() a échoué , ce qui entraîne un objet d'instruction préparée non valide. Dans de tels cas, il est essentiel d'inspecter l'instruction prepare() pour détecter les erreurs potentielles.
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!