Maison >base de données >tutoriel mysql >Comment puis-je exécuter des scripts SQL à partir de PHP à l'aide de l'outil de ligne de commande MySQL ?
Intégration de scripts SQL dans PHP : un guide détaillé
Introduction
Exécuter directement des scripts SQL de PHP présente un défi en raison des limitations et des cas extrêmes rencontrés avec l'exécution directe. Par conséquent, l'utilisation d'un outil externe, tel que l'outil CLI de MySQL, devient nécessaire.
Exécuter des fichiers *.sql avec shell_exec()
Pour exécuter des fichiers *.sql dans PHP, l'approche suivante utilisant shell_exec() est recommandée :
$command = 'mysql' . ' --host=' . $vals['db_host'] . ' --user=' . $vals['db_user'] . ' --password=' . $vals['db_pass'] . ' --database=' . $vals['db_name'] . ' --execute="SOURCE ' . $script_path ; $output1 = shell_exec($command . '/site_db.sql"'); $output2 = shell_exec($command . '/site_structure.sql"');
Supplémentaire Considérations
Il convient de noter que le format --option=value est plus robuste pour spécifier les options MySQL CLI. De plus, --execute="SOURCE ..." peut être utilisé pour spécifier l'exécution du fichier.
Différences entre shell_exec() et exec()
Alors que les deux shell_exec () et exec() permettent l'exécution de commandes externes, shell_exec() garantit que l'intégralité du script est exécutée, capturant sa sortie. Exec(), en revanche, ne renvoie que la dernière ligne de sortie.
Questions et ressources connexes
Consultez ces questions liées à Stack Overflow pour plus d'informations. insights :
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!