Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP:mehrere SQL-Abfragen in einer mysql_query-Anweisung

Sie haben mehr Problemfälle als nur Semikolons innerhalb von Zeichenfolgen.

  • Skript eingebaut Befehle, die nicht von mysql_query() ausgeführt werden können , wie USE .
  • Anweisungen, die nicht mit einem Semikolon abgeschlossen werden, wie DELIMITER .
  • Anweisungen, die Semikolons enthalten, aber nicht in Anführungszeichen, wie CREATE PROCEDURE .

Ich kenne keinen einfachen Weg, um diese Aufgabe zu bewältigen, ohne den mysql-Befehlszeilenclient zu verlassen. Mir ist klar, dass Sie gesagt haben, dass Sie sich nicht darauf verlassen können, dass dieser Client vorhanden ist, aber ohne diesen Client benötigen Sie eine große Menge an PHP-Code, um das Skript zu parsen und Anweisungen entsprechend auszuführen.

Sie können solchen Code möglicherweise in phpMyAdmin finden Produkt. Dieses Produkt ist jedoch unter der GPL lizenziert. Wenn Sie also Code verwenden, müssen Sie auch Ihr eigenes Projekt unter der GPL lizenzieren.

Siehe auch meine Antworten auf diese verwandten Fragen: