Maison > base de données > tutoriel mysql > Comment puis-je exécuter des fichiers MySQL *.sql à partir de PHP à l'aide de shell_exec() ?

Comment puis-je exécuter des fichiers MySQL *.sql à partir de PHP à l'aide de shell_exec() ?

Patricia Arquette
Libérer: 2024-12-10 15:45:16
original
401 Les gens l'ont consulté

How Can I Execute MySQL *.sql Files from PHP Using shell_exec()?

Exécution de fichiers MySQL *.sql en PHP

Lors de la création de bases de données de sites Web, vous pouvez rencontrer des scénarios dans lesquels vous devez exécuter . fichiers sql de PHP pour automatiser la génération de sites. Bien que Zend_Framework puisse être bénéfique, exécuter des fichiers .sql directement depuis PHP peut être difficile en raison d'incohérences dans les instructions SQL.

Solution : Utiliser shell_exec()

L'approche recommandée consiste à appeler l'outil MySQL à l'aide de shell_exec() pour exécuter votre script *.sql. Voici un exemple :

$command = 'mysql'
        . ' --host=' . $vals['db_host']
        . ' --user=' . $vals['db_user']
        . ' --password=' . $vals['db_pass']
        . ' --database=' . $vals['db_name']
        . ' --execute="SOURCE ' . $script_path
;
Copier après la connexion

Cette commande crée une commande d'exécution MySQL avec les paramètres nécessaires pour exécuter le fichier *.sql spécifié dans $script_path.

Différences entre shell_exec() et exec()

Bien que les deux fonctions exécutent des commandes externes, elles présentent certaines distinctions. shell_exec() capture la sortie de la commande et la renvoie sous forme de chaîne, tandis que exec() renvoie l'état d'exécution de la commande. Dans ce cas, shell_exec() est préférable pour obtenir le résultat de la commande MySQL.

Considérations supplémentaires

Lors de l'exécution de fichiers *.sql, assurez-vous que la commande inclut tous les paramètres nécessaires (db_host, db_user, db_pass, db_name) et vous disposez des autorisations suffisantes pour exécuter le script. De plus, utilisez l'option --execute="SOURCE ..." au lieu de < pour exécuter le fichier.

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