de.comp.lang.php.* FAQ

16.2. Wieso kann ich mehrere, durch Semikolon getrennte Statements nicht ausführen?

Keywords: SQL | Datenbank | Semikolon | phpMyAdmin

Antwort von Kristian Köhntopp

SQL kennt keine Mehrfachstatements. Einige SQL-Frontends (der MySQL-Kommandoprozessor, phpMyAdmin) kennen Mehrfachstatements, die sie manuell in einzelne Anweisungen zerlegen und nacheinander an den Datenbankserver senden. PHP selbst macht dies nicht. Man muss seine Statements manuell zerlegen und einzeln nacheinander absenden.

Um ein Statement zu zerlegen, ist es nicht ausreichend, auf dieses Statement einfach explode() anzuwenden. Beispiel:

INSERT INTO table VALUES('foo;bar');

Wie es richtig geht, kann man im Code von phpMyAdmin nachlesen. Die relevante Stelle ist die Funktion split_sql() in der Datei db_readdump.php.

Valid HTML 4.01! Valid CSS!

16.2. Wieso kann ich mehrere, durch Semikolon getrennte Statements nicht ausführen?
http://www.php-faq.de/q/q-sql-statements.html
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team