sql >> Databasteknik >  >> RDS >> Mysql

PHP:flera SQL-frågor i en mysql_query-sats

Du har fler problemfall än bara semikolon inom strängar.

  • Skript inbyggt kommandon som inte kan köras av mysql_query() , som USE .
  • Uttalanden som inte avslutas med semikolon, som DELIMITER .
  • Uttalanden som innehåller semikolon, men inte inom citattecken, som CREATE PROCEDURE .

Jag vet inte om ett enkelt sätt att hantera den här uppgiften, utan att skicka ut till mysql kommandoradsklient. Jag inser att du sa att du inte kan lita på att den klienten är närvarande, men utan den klienten behöver du en stor mängd PHP-kod för att analysera skriptet och exekvera satser på rätt sätt.

Du kanske kan hitta sådan kod i phpMyAdmin produkt. Den produkten är dock licensierad under GPL, så om du använder någon av koden måste du också licensiera ditt eget projekt under GPL.

Se även mina svar på dessa relaterade frågor:



  1. Hur man lägger till ett villkorligt unikt index på PostgreSQL

  2. Hur tar jag bort utökade ASCII-tecken från en sträng i T-SQL?

  3. Hur får man en fil från BLOB i Oracle?

  4. Rensa MySQL-frågecache utan att starta om servern