Exécuter plusieurs requêtes SQL dans une seule instruction avec PHP
Dans cette énigme de programmation, l'utilisateur recherche une méthode pour combiner plusieurs requêtes SQL en une une seule déclaration. Ils ont fourni un exemple de code composé de trois requêtes distinctes :
DELETE FROM aktywne_kody WHERE kodsms ='$kodSMSgracza' AND typkodu ='$id'; mysql_query($query) or die(mysql_error()); INSERT INTO uzyte_kody (gracz, kodsms, typkodu) VALUES ('$nickGracza', '$kodSMSgracza', '$id'); mysql_query($query) or die("Błąd MySQL X04"); INSERT INTO do_odebrania (gracz, itemDATA, itemQTY) VALUES ('$nickGracza', '$itemDATA', '$itemQTY'); mysql_query($query) or die("Błąd MySQL X05");
Solution
Pour exécuter plusieurs requêtes SQL dans une seule instruction à l'aide de PHP et MySQL, la clé est passer 65536 comme cinquième paramètre lors de l'initialisation de mysql_connect. Voici un exemple :
$conn = mysql_connect('localhost','username','password', true, 65536 /* here! */) or die("cannot connect"); mysql_select_db('database_name') or die("cannot use database"); mysql_query(" INSERT INTO table1 (field1,field2) VALUES(1,2); INSERT INTO table2 (field3,field4,field5) VALUES(3,4,5); DELETE FROM table3 WHERE field6 = 6; UPDATE table4 SET field7 = 7 WHERE field8 = 8; INSERT INTO table5 SELECT t6.field11, t6.field12, t7.field13 FROM table6 t6 INNER JOIN table7 t7 ON t7.field9 = t6.field10; -- etc ");
Dans cet exemple, toutes les requêtes seront exécutées séquentiellement dans le cadre d'une seule instruction. Il est important de noter que les commandes suivantes telles que mysql_fetch_*, mysql_num_rows et mysql_affected_rows ne seront valides que pour la première requête exécutée.
Question mysql_close
Concernant la question sur En fermant la connexion à la base de données, il est généralement recommandé d'appeler mysql_close($db) après avoir terminé toutes les requêtes SQL pour libérer la connexion et libérer des ressources.
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!