Maison >base de données >tutoriel mysql >Comment puis-je exécuter plusieurs requêtes SQL dans une seule instruction PHP ?

Comment puis-je exécuter plusieurs requêtes SQL dans une seule instruction PHP ?

DDD
DDDoriginal
2024-12-16 09:27:12189parcourir

How Can I Execute Multiple SQL Queries in a Single PHP Statement?

Combinaison de plusieurs requêtes SQL dans une seule instruction avec PHP

En PHP, l'exécution de plusieurs requêtes SQL dans une seule instruction peut être réalisée en utilisant le multi Fonction -query(). Cette fonction vous permet d'enchaîner plusieurs requêtes ensemble et de les exécuter en une seule transaction.

Syntaxe :

$stmt = $conn->multi_query($query);

Exemple :

Considérez les requêtes multiples suivantes :

$query = "DELETE FROM active_codes WHERE sms_code ='$smsCode' AND code_type ='$id'";
$query .= "INSERT INTO used_codes (player, sms_code, code_type) VALUES ('$playerNick', '$smsCode', '$id')";
$query .= "INSERT INTO rewards (player, item_data, item_qty) VALUES ('$playerNick', '$itemData', '$itemQty')";

Vous pouvez combiner ces requêtes dans un instruction unique comme suit :

$conn = new mysqli('localhost', 'username', 'password', 'database_name');
$stmt = $conn->multi_query($query);

Considérations supplémentaires :

  • Lorsque vous travaillez avec des fonctions de récupération ou des fonctions de comptage de lignes, telles que mysql_fetch_* ou mysql_num_rows, uniquement les résultats de la première requête sont accessibles.
  • Il est recommandé de fermer la connexion à la base de données avec mysql_close($conn) après avoir exécuté toutes les requêtes pour libérer des ressources.

Remarque :

L'exemple fourni dans la question fait référence aux fonctions mysql_* obsolètes. Il est recommandé d'utiliser plutôt l'extension mysqli ou PDO pour la connectivité de la base de données en PHP.

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