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

Spouštění souborů MySQL *.sql v PHP

Tato otázka se čas od času objeví. Neexistuje žádné dobré řešení pro spouštění skriptu .sql přímo z PHP. Existují okrajové případy, kdy příkazy běžné ve skriptu .sql nelze provést jako příkazy SQL. Například nástroj mysql má vestavěné příkazy které nejsou rozpoznány serverem MySQL, např. CONNECT , TEE , STATUS a DELIMITER .

Takže dávám +1 uživateli @Ignacio Vazquez-Abrams odpovědět . Skript .sql byste měli spustit v PHP vyvoláním mysql nástroj, například pomocí shell_exec() .

Tento test mi funguje:

$command = "mysql --user={$vals['db_user']} --password='{$vals['db_pass']}' "
 . "-h {$vals['db_host']} -D {$vals['db_name']} < {$script_path}";

$output = shell_exec($command . '/shellexec.sql');

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



  1. Divize ( / ) nedává mou odpověď v postgresql

  2. Moje databáze MySQL je poškozená... Co teď mám dělat?

  3. Vypočítat průběžný součet v SQL Server

  4. Jak SIGN() funguje v MariaDB