Maison > développement back-end > tutoriel php > Comment puis-je automatiser le remplissage d'une base de données MySQL à partir d'une application PHP à l'aide de fichiers SQL ?

Comment puis-je automatiser le remplissage d'une base de données MySQL à partir d'une application PHP à l'aide de fichiers SQL ?

Mary-Kate Olsen
Libérer: 2024-12-09 20:24:25
original
289 Les gens l'ont consulté

How Can I Automate MySQL Database Population from a PHP Application Using SQL Files?

Exécution de fichiers MySQL *.sql en PHP

Défi : Automatisation de la génération de sites en exécutant deux fichiers *.sql (création de tables et remplissage d'enregistrements ) depuis un PHP application.

Solution :

Bien que l'exécution directe de scripts .sql en PHP présente des limites, l'appel de l'outil MySQL via PHP est une solution efficace.

Utilisation de shell_exec() :

Une approche consiste à utiliser shell_exec() pour exécuter des commandes MySQL.

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

Utilisation du format --option=value :

Pour améliorer la stabilité, utilisez le format --option=value et --execute ="SOURCE..." pour exécuter des fichiers :

$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

Supplémentaire Remarques :

  • exec() et shell_exec() présentent des différences subtiles.
  • Il existe des cas extrêmes où les instructions de script .sql ne sont pas directement exécutables en tant que SQL.
  • Invoquer MySQL depuis PHP est un moyen fiable de gérer les fichiers .sql.

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