sql >> Databáze >  >> RDS >> Mysql

PHP:více SQL dotazů v jednom příkazu mysql_query

Máte více problémových případů než jen středníky v řetězcích.

  • Skript vestavěný příkazy, které nelze provést pomocí mysql_query() , například USE .
  • Výpisy, které nejsou ukončeny středníkem, jako je DELIMITER .
  • Příkazy, které obsahují středníky, ale ne v uvozovkách, jako CREATE PROCEDURE .

Neznám snadný způsob, jak tento úkol zvládnout, aniž bych se musel obrátit na klienta příkazového řádku mysql. Uvědomuji si, že jste řekl, že se nemůžete spolehnout na přítomnost tohoto klienta, ale bez tohoto klienta potřebujete velké množství kódu PHP k analýze skriptu a správnému provádění příkazů.

Takový kód můžete najít v phpMyAdmin produkt. Tento produkt je však licencován pod licencí GPL, takže pokud použijete jakýkoli kód, musíte také licencovat svůj vlastní projekt pod licencí GPL.

Viz také mé odpovědi na tyto související otázky:



  1. Jsou příkazy CASE a DECODE ekvivalentní?

  2. Potenciální vylepšení ASPState

  3. Jak opravit ORA-12505, TNS:listener aktuálně neví o SID uvedeném v deskriptoru připojení

  4. Žádné jedinečné nebo vyloučení omezení neodpovídá ON CONFLICT