Heim >Datenbank >MySQL-Tutorial >Können mehrere SQL-Abfragen in einer einzigen PHP-Anweisung ausgeführt werden?
Mehrere SQL-Abfragen in einer einzigen Anweisung mit PHP ausführen
Frage:
Kann mehrere SQL-Abfragen werden in einer einzigen Anweisung zusammengefasst PHP?
Kontext:
Die Frage bezieht sich auf ein Szenario, in dem mehrere SQL-Abfragen separat ausgeführt werden:
$query = "DELETE FROM aktywne_kody WHERE kodsms ='$kodSMSgracza' AND typkodu ='$id'"; mysql_query($query) or die(mysql_error()); $query = "INSERT INTO uzyte_kody (gracz, kodsms, typkodu) VALUES ('$nickGracza', '$kodSMSgracza', '$id')"; mysql_query($query) or die("Błąd MySQL X04"); $query = "INSERT INTO do_odebrania (gracz, itemDATA, itemQTY) VALUES ('$nickGracza', '$itemDATA', '$itemQTY')"; mysql_query($query) or die("Błąd MySQL X05");
Antwort :
Ja, es ist möglich, mehrere SQL-Abfragen in einer einzigen Anweisung in PHP auszuführen, indem ein bestimmter Parameter für verwendet wird mysql_connect().
Übergeben Sie 65536 als fünften Parameter an mysql_connect():
$conn = mysql_connect('localhost','username','password', true, 65536 /* here! */) or die("cannot connect"); mysql_select_db('database_name') or die("cannot use database");
Sobald dieser Parameter festgelegt ist, können mehrere SQL-Abfragen in einer einzigen Anweisung ausgeführt werden:
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 ");
Es ist wichtig zu beachten, dass bei der Arbeit mit Funktionen wie mysql_fetch_* oder mysql_num_rows oder mysql_affected_rows, nur die erste Anweisung in den mehreren Abfragen wird verarbeitet. Funktionen wie mysql_affected_rows können verwendet werden, um die Anzahl der von der ersten Abfrage eingefügten oder betroffenen Zeilen abzurufen. Allerdings geben Funktionen wie mysql_fetch_* Werte nur für die erste Abfrage zurück und nicht für nachfolgende Abfragen in der Anweisung.
Das obige ist der detaillierte Inhalt vonKönnen mehrere SQL-Abfragen in einer einzigen PHP-Anweisung ausgeführt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!