Maison  >  Article  >  développement back-end  >  Une seule instruction préparée MySQL peut-elle exécuter plusieurs requêtes ?

Une seule instruction préparée MySQL peut-elle exécuter plusieurs requêtes ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-25 18:24:10878parcourir

Can a Single MySQL Prepared Statement Execute Multiple Queries?

Est-il possible de préparer plusieurs requêtes MySQL dans une seule instruction ?

Requête :

Dans MySQL, une L'instruction préparée exécute-t-elle plusieurs requêtes simultanément ? Par exemple :

mysqli->prepare(query1 ...1,2,3 param...; query2...4,5 param...);

Ou bien :

mysqli->prepare(insert into ...1,2,3 param...; insert into...4,5 param...);

Suivi de :

mysqli->bind_param("sssss", 1, 2, 3, 4, 5);

Réponse :

Non, une instruction préparée dans MySQL ne peut exécuter qu'une seule requête. Plusieurs instructions préparées peuvent être créées dans des variables distinctes :

$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");

Ces instructions peuvent ensuite être exécutées ultérieurement.

Pour garantir que les deux requêtes sont exécutées avec succès, envisagez d'utiliser des transactions de base de données, comme suggéré par Thomas.

Astuce :

Si vous rencontrez l'erreur "appel à une fonction membre sur un non-objet" alors en essayant de lier des paramètres, cela indique probablement une erreur dans l'instruction prepare() elle-mê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!

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