Mysql
 sql >> Database >  >> RDS >> Mysql

Esecuzione di file MySQL *.sql in PHP

Questa domanda sorge di tanto in tanto. Non esiste una buona soluzione per eseguire uno script .sql direttamente da PHP. Esistono casi limite in cui le istruzioni comuni in uno script .sql non possono essere eseguite come istruzioni SQL. Ad esempio, lo strumento mysql ha comandi integrati che non vengono riconosciuti dal server MySQL, ad es. CONNECT , TEE , STATUS e DELIMITER .

Quindi do +1 a risposta . Dovresti eseguire il tuo script .sql in PHP invocando mysql strumento, ad esempio con shell_exec() .

Ho fatto funzionare questo test:

$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');

Vedi anche le mie risposte a queste domande correlate: