Maison  >  Article  >  développement back-end  >  Comment importer un fichier .sql dans une base de données MySQL à l'aide de PHP sans rencontrer d'erreurs ?

Comment importer un fichier .sql dans une base de données MySQL à l'aide de PHP sans rencontrer d'erreurs ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 10:45:02817parcourir

How to Import a .sql File into a MySQL Database Using PHP Without Encountering Errors?

Importation d'un fichier .sql dans une base de données MySQL à l'aide de PHP

Lorsque vous tentez d'importer un fichier .sql dans une base de données MySQL via PHP, vous pouvez rencontrer l'erreur : "Une erreur s'est produite lors de l'importation. Veuillez vous assurer que le fichier d'importation est enregistré dans le même dossier que ce script et vérifiez vos valeurs.". Cette erreur survient généralement en raison d'une extension MySQL obsolète ou d'une utilisation incorrecte.

L'extension mysql_* obsolète a été supprimée dans PHP 7.0.0, la rendant indisponible. Comme suggéré dans la documentation PHP, il est recommandé d'utiliser l'extension mysqli ou PDO_MySQL comme alternative.

Vous pouvez également utiliser l'extrait de code suivant pour importer un fichier .sql :

<code class="php"><?php

// File name
$filename = 'churc.sql';
// MySQL host
$mysql_host = 'localhost';
// MySQL username
$mysql_username = 'root';
// MySQL password
$mysql_password = '';
// Database name
$mysql_database = 'dump';

// Connect to MySQL server
mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('Error connecting to MySQL server: ' . mysql_error());
// Select database
mysql_select_db($mysql_database) or die('Error selecting MySQL database: ' . mysql_error());

// Declare variables
$templine = '';
$lines = file($filename);

// Iterate through file lines
foreach ($lines as $line) {
    // Ignore comments and empty lines
    if (substr($line, 0, 2) == '--' || $line == '') {
        continue;
    }

    // Append line to temporary query
    $templine .= $line;
    // Check for semicolon to mark end of query
    if (substr(trim($line), -1, 1) == ';') {
        // Execute query and handle errors
        mysql_query($templine) or print('Error performing query \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
        // Reset temporary query
        $templine = '';
    }
}

// Success message
echo "Tables imported successfully";

?></code>

Cette approche se connecte au serveur MySQL, sélectionne la base de données et parcourt le fichier .sql ligne par ligne, en exécutant les requêtes rencontrées. Il assure la gestion des erreurs et imprime un message de réussite en cas d'importation réussie.

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:
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