Mysql
 sql >> Base de données >  >> RDS >> Mysql

Exécution de fichiers MySQL *.sql en PHP

Cette question revient de temps en temps. Il n'y a pas de bonne solution pour exécuter un script .sql directement depuis PHP. Il existe des cas extrêmes où les instructions courantes dans un script .sql ne peuvent pas être exécutées en tant qu'instructions SQL. Par exemple, l'outil mysql a commandes intégrées qui ne sont pas reconnus par le serveur MySQL, par ex. CONNECT , TEE , STATUS , et DELIMITER .

Je donne donc +1 au répondre . Vous devez exécuter votre script .sql en PHP en invoquant le mysql outil, par exemple avec shell_exec() .

J'ai réussi ce 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');

Voir aussi mes réponses à ces questions connexes :