L'importation de script SQL via la programmation sera utile lorsque nous aurons besoin de créer dynamiquement une structure de base de données. Par exemple, si nous fournissons une application ou un plug-in à télécharger et à installer en ligne, l'importation SQL dynamique sera utilisée pour configurer la base de données de l'application au moment de l'installation de l'application ou du plug-in.
Pour importer un fichier SQL dans la base de données , vous devez vous connecter à votre serveur d'hébergement ou à phpMyAdmin. De plus, vous pouvez importer la base de données à partir d'un script PHP sans vous connecter à votre serveur d'hébergement ou à phpMyAdmin.
Importer la base de données à partir du script PHP est extrêmement utile lorsque vous devez permettre au client d'importer la base de données à partir de votre application Web. Une sauvegarde de la base de données doit être effectuée pour importer des tables dans la base de données MySQL.
Dans ce tutoriel, nous allons importer un fichier SQL dans une base de données en utilisant la programmation PHP . Dans cet exemple, nous avons un fichier contenant SQL pour créer une table de contacts et insérer des données. Le code PHP analyse le fichier ligne par ligne et extrait les instructions de requête à exécuter à l'aide de la fonction PHP MySQL.
Importer une base de données MySQL avec PHP
En utilisant le travail importDatabaseTables() en PHP, vous pouvez importer des tables dans la base de données à partir d'un fichier .sql. Les paramètres suivants sont requis pour importer ou restaurer la base de données MySQL à l'aide de PHP.
$dbHost
- Requis. Spécifie le nom d'hôte de la base de données.$dbUname
- Requis. Spécifie le nom d'utilisateur de la base de données.$dbPass
- Requis. Spécifie le mot de passe de la base de données.$dbName
- Requis. Spécifie le nom de la base de données dans laquelle vous souhaitez importer.$filePath
- Requis. Spécifie le chemin du fichier SQL à partir duquel les tables seront importées.
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | <?php /** * @function importDatabaseTables * @author Tutorialswebsite * @link http://www.tutorialswebsite.com * @usage Import database tables from a SQL file */ $dbHost = 'localhost'; $dbUname = 'root'; $dbPass = ''; $dbName = 'DB Name'; $filePath = 'files/backupfile.sql'; if(file_exists($filePath)){ importDatabaseTables($dbHost, $dbUname, $dbPass, $dbName, $filePath); } function importDatabaseTables($dbHost, $dbUname, $dbPass, $dbName, $filePath){ // Connect & select the database $db = new mysqli($dbHost, $dbUname, $dbPass, $dbName); // Temporary variable, used to store current query $templine = ''; // Read in entire file $lines = file($filePath); $error = ''; // Loop through each line foreach ($lines as $line){ // Skip it if it's a comment if(substr($line, 0, 2) == '--' || $line == ''){ continue; } // Add this line to the current segment $templine .= $line; // If it has a semicolon at the end, it's the end of the query if (substr(trim($line), -1, 1) == ';'){ // Perform the query if(!$db->query($templine)){ $error .= 'Error importing query "<b>' . $templine . '</b>": ' . $db->error . '<br /><br />'; } // Reset temp variable to empty $templine = ''; } } return !empty($error)?$error:true; } ?> |