Maison  >  Article  >  base de données  >  Puis-je préparer plusieurs requêtes dans une seule instruction MySQLi ?

Puis-je préparer plusieurs requêtes dans une seule instruction MySQLi ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-02 08:55:29890parcourir

Can I Prepare Multiple Queries in a Single MySQLi Statement?

Préparation de plusieurs requêtes dans une seule instruction MySQLi

Il n'est pas possible de préparer plusieurs requêtes dans une seule instruction MySQLi. Chaque appel à mysqli_prepare() ne peut préparer qu'une seule requête.

Approche alternative pour exécuter plusieurs requêtes

Si vous devez exécuter plusieurs requêtes en une seule fois, vous pouvez créer et exécutez des instructions mysqli_prepare() distinctes pour chaque requête.

<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 (?,?);");

$stmtUser->bind_param("ssss", $id, $username, $pw, $email);
$stmtProc->bind_param("ss", $id, $idp);

$stmtUser->execute();
$stmtProc->execute();

$stmtUser->close();
$stmtProc->close();</code>

Gestion des erreurs

L'erreur "Appel à une fonction membre sur un non-objet" est généralement rencontré lorsque prepare() échoue. Cela est généralement dû à une erreur dans l'instruction préparée elle-même, et non dans le code suivant.

Support des transactions

Si vous souhaitez vous assurer que plusieurs requêtes sont exécutées ensemble ou pas du tout, MySQLi prend en charge les transactions. Vous pouvez utiliser les fonctions mysqli_begin_transaction() et mysqli_commit() pour contrôler les limites des transactions.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn