Exécuter des fichiers MySQL *.sql par programme en PHP
Exécuter des fichiers *.sql directement depuis PHP via l'interface de ligne de commande du moteur MySQL ( CLI) n'est pas conseillé en raison de commandes spécifiques au script telles que CONNECT ou DELIMITER qui ne sont pas reconnues par MySQL Serveur.
Comme solution, invoquez l'outil MySQL CLI depuis PHP en utilisant des méthodes telles que shell_exec(). Voici un exemple utilisant shell_exec() :
$command = 'mysql --host=$db_host --user=$db_user --password=$db_pass --database=$db_name --execute="SOURCE ' . $script_path; $output1 = shell_exec($command . '/site_structure.sql"'); $output2 = shell_exec($command . '/site_db.sql"');
Dans cet exemple, --execute="SOURCE ..." est utilisé pour spécifier le fichier à exécuter, au lieu d'utiliser le < opérateur. Il est important de passer au format --option=value pour les commandes pour une meilleure compatibilité.
Gardez à l'esprit que le résultat renvoyé par shell_exec() peut ne pas être utile, vous devrez donc peut-être explorer des approches alternatives ou consulter d'autres questions connexes pour plus d'informations.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!