Heim >Datenbank >MySQL-Tutorial >Wie kann ich eine .sql-Datei mit PHP sicher in MySQL importieren?

Wie kann ich eine .sql-Datei mit PHP sicher in MySQL importieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-06 21:20:13459Durchsuche

How Can I Safely Import a .sql File into MySQL Using PHP?

Importieren einer .sql-Datei in eine MySQL-Datenbank mit PHP

Wenn Sie versuchen, eine .sql-Datei mit PHP in eine MySQL-Datenbank zu importieren, Häufig wird eine Fehlermeldung angezeigt, die auf ein Problem beim Import hinweist. Diese Fehlermeldung enthält Details zum Datenbanknamen, Benutzernamen, Passwort, Hostnamen und Importdateinamen.

Der in der Frage bereitgestellte Code nutzt die mysql_*-Funktionen, die ab PHP 5.5.0 veraltet sind und in PHP 7.0.0 entfernt. Stattdessen sollten alternative MySQL-APIs wie mysqli oder PDO_MySQL verwendet werden.

Alternative Importmethode mit MySQL-Client

Das Delegieren des Dateiimportvorgangs an den MySQL-Client erfolgt im Allgemeinen a zuverlässigerer Ansatz. MySQL bietet Befehlszeilentools, die Importe effizient durchführen können.

Verbesserter PHP-Code zum Importieren von .sql-Dateien

Es wird ein alternativer PHP-Code bereitgestellt, der eine geeignetere Importmethode verwendet unten:

<?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';

// Establish MySQL connection
$mysqli = new mysqli($mysql_host, $mysql_username, $mysql_password, $mysql_database);
if ($mysqli->connect_error) {
    echo 'Error connecting to MySQL: ' . $mysqli->connect_error;
    exit;
}

// Read entire file
$lines = file($filename);

// Process each line
foreach ($lines as $line) {
    // Skip comments and empty lines
    if (substr($line, 0, 2) == '--' || $line == '') {
        continue;
    }

    // Execute query
    if ($mysqli->query($line)) {
        echo 'Query successfully executed: ' . $line . '<br>';
    } else {
        echo 'Error executing query: ' . $line . '<br>';
    }
}
echo 'Tables imported successfully';
$mysqli->close();

?>

Dieser verbesserte Code nutzt die MySQLi-Erweiterung, um eine Verbindung zu MySQL herzustellen und die Abfragen aus der .sql-Datei Zeile für Zeile auszuführen Linie.

Das obige ist der detaillierte Inhalt vonWie kann ich eine .sql-Datei mit PHP sicher in MySQL importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn