Heim > Datenbank > MySQL-Tutorial > Wie kann ich mit PHP mehrere SQL-Abfragen in einer einzigen Anweisung ausführen?

Wie kann ich mit PHP mehrere SQL-Abfragen in einer einzigen Anweisung ausführen?

Patricia Arquette
Freigeben: 2024-11-19 16:19:03
Original
348 Leute haben es durchsucht

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

Ausführen mehrerer SQL-Abfragen in einer Anweisung mit PHP

In diesem Programmierrätsel sucht der Benutzer nach einer Methode, um mehrere SQL-Abfragen in einer zu kombinieren einzelne Aussage. Sie haben Beispielcode bereitgestellt, der aus drei separaten Abfragen besteht:

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");
Nach dem Login kopieren

Lösung

Um mehrere SQL-Abfragen in einer Anweisung mit PHP und MySQL auszuführen, lautet der Schlüssel 65536 als fünften Parameter während der mysql_connect-Initialisierung zu übergeben. Hier ist ein Beispiel:

$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
");
Nach dem Login kopieren

In diesem Beispiel werden alle Abfragen nacheinander als Teil einer einzigen Anweisung ausgeführt. Es ist wichtig zu beachten, dass nachfolgende Befehle wie mysql_fetch_*, mysql_num_rows und mysql_affected_rows nur für die erste ausgeführte Abfrage gültig sind.

mysql_close-Frage

Bezüglich der Frage zu Beim Schließen der Datenbankverbindung wird im Allgemeinen empfohlen, nach Abschluss aller SQL-Abfragen mysql_close($db) aufzurufen, um die Verbindung freizugeben und Ressourcen freizugeben.

Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP mehrere SQL-Abfragen in einer einzigen Anweisung ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage