Maison > développement back-end > tutoriel php > Comment exécuter de manière fiable des fichiers MySQL *.sql à partir de PHP ?

Comment exécuter de manière fiable des fichiers MySQL *.sql à partir de PHP ?

Barbara Streisand
Libérer: 2024-11-30 12:56:16
original
402 Les gens l'ont consulté

How to Reliably Run MySQL *.sql Files from PHP?

Exécuter des fichiers MySQL *.sql en PHP : une solution efficace

De temps en temps, le sujet de l'exécution de MySQL . fichiers SQL à partir des surfaces PHP. Malheureusement, il n'existe pas de solution simple, car les scripts .sql contiennent souvent des commandes qui ne peuvent pas être exécutées directement en tant qu'instructions SQL.

Les cas extrêmes

Des cas extrêmes surviennent lorsque les scripts *.sql incluent des commandes d'outils mysql intégrées non reconnues par le serveur MySQL. Ces commandes incluent CONNECT, TEE, STATUS et DELIMITER.

Une approche fiable

Pour relever ces défis, il est recommandé d'invoquer l'outil mysql depuis PHP, en utilisant un méthode comme shell_exec(). Cette approche fournit une solution robuste pour exécuter des scripts *.sql.

Exemple de code :

L'exemple de code suivant montre comment exécuter un script *.sql à l'aide de shell_exec( ):

$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');
Copier après la connexion

Alternative Approches

Considérez d'autres questions connexes pour des approches alternatives à l'exécution de fichiers *.sql :

  • Chargement de fichiers .sql à partir de PHP
  • Est-il possible de appeler un script SQL à partir d'une procédure stockée dans un autre script SQL ?
  • PHP : plusieurs requêtes SQL dans un mysql_query déclaration

N'oubliez pas de faire preuve de prudence lorsque vous utilisez shell_exec() pour éviter les risques de sécurité potentiels.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal