Maison > développement back-end > tutoriel php > Comment puis-je exécuter des fichiers MySQL .sql à partir de PHP ?

Comment puis-je exécuter des fichiers MySQL .sql à partir de PHP ?

Mary-Kate Olsen
Libérer: 2024-12-01 13:18:12
original
192 Les gens l'ont consulté

How Can I Run MySQL .sql Files from PHP?

Exécuter des fichiers MySQL *.sql à partir de PHP

L'exécution de fichiers .sql à partir de PHP peut présenter des défis, en particulier lors de l'automatisation du site. génération. Bien qu'il n'existe aucun moyen direct d'exécuter des scripts .sql en PHP, l'appel de l'outil MySQL à l'aide de shell_exec() peut fournir une solution.

Méthode d'exécution du shell

En utilisant shell_exec(), vous pouvez construire une commande qui appelle l'outil mysql avec les indicateurs appropriés et paramètres :

$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

Passer le nom du fichier avec --execute="SOURCE..." garantit que le fichier est exécuté. Cependant, notez que l'utilisation de shell_exec() nécessite que vous fournissiez un accès à la console, qui peut ne pas être disponible dans certains environnements.

Méthode alternative

Pour une solution plus flexible qui fonctionne sur les plateformes Windows et UNIX, vous pouvez utiliser la commande suivante :

$command = "mysql --user={$vals['db_user']} --password='{$vals['db_pass']}' "
 . "-h {$vals['db_host']} -D {$vals['db_name']} < {$script_path}";
Copier après la connexion

Cette commande appelle directement le fichier .sql à l'aide du opérateur inférieur à (<). Il ne nécessite pas d'accès à la console et fournit une méthode fiable pour exécuter des fichiers .sql à partir de scripts PHP.

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!

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