Maison > Article > développement back-end > Une seule instruction préparée MySQL peut-elle exécuter plusieurs requêtes ?
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!