Maison > base de données > tutoriel mysql > le corps du texte

Pouvez-vous exécuter plusieurs requêtes dans une seule instruction mysqli ?

Linda Hamilton
Libérer: 2024-10-29 03:57:29
original
170 Les gens l'ont consulté

Can You Execute Multiple Queries in a Single mysqli Statement?

Plusieurs requêtes dans une seule instruction mysqli

Pouvez-vous préparer une seule instruction mysqli qui exécute plusieurs requêtes ?

Question :

Est-il possible de construire une seule instruction mysqli qui exécute plusieurs requêtes ? Par exemple :

<code class="php">mysqli->prepare("query1 ...1,2,3 param...; query2...4,5 param...");
or 
mysqli->prepare("insert into ...1,2,3 param...; insert into...4,5 param...");</code>
Copier après la connexion

Une telle tentative de construction entraîne l'erreur "Appel à une fonction membre bind_param() sur un non-objet dans..."

<code class="php">$stmt = $sql->getQueryPrepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?); INSERT INTO process (id_user, idp) VALUES (?,?);");

$stmt->bind_param("ssssss",$id, $username, $pw, $email, $id, $idp);

$stmt->execute();
$stmt->close(); </code>
Copier après la connexion

Réponse :

Une instruction préparée ne peut exécuter qu'une seule requête MySQL. Vous pouvez cependant préparer plusieurs instructions dans des variables distinctes :

<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>
Copier après la connexion

Ces instructions peuvent être exécutées ultérieurement. Si vous devez vous assurer que les deux requêtes sont exécutées avec succès, envisagez d'utiliser des transactions.

N'oubliez pas qu'une erreur « appel à une fonction membre sur un non-objet » indique généralement un échec dans l'instruction prepare(), plutôt que problèmes avec le code suivant.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!