Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengimport Fail .sql ke dalam Pangkalan Data MySQL Menggunakan PHP Tanpa Menghadapi Ralat?

Bagaimana untuk Mengimport Fail .sql ke dalam Pangkalan Data MySQL Menggunakan PHP Tanpa Menghadapi Ralat?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 10:45:02817semak imbas

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

Mengimport Fail .sql ke dalam Pangkalan Data MySQL Menggunakan PHP

Apabila cuba mengimport fail .sql ke dalam pangkalan data MySQL melalui PHP, anda mungkin menghadapi ralat: "Terdapat ralat semasa import. Sila pastikan fail import disimpan dalam folder yang sama dengan skrip ini dan semak nilai anda.". Ralat ini biasanya timbul disebabkan sambungan MySQL yang ditamatkan atau penggunaan yang salah.

Pelanjutan mysql_* yang tidak digunakan telah dialih keluar dalam PHP 7.0.0, menjadikannya tidak tersedia untuk digunakan. Seperti yang dicadangkan dalam dokumentasi PHP, adalah disyorkan untuk menggunakan sambungan mysqli atau PDO_MySQL sebagai alternatif.

Sebagai alternatif, anda boleh menggunakan coretan kod berikut untuk mengimport fail .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>

Pendekatan ini bersambung ke pelayan MySQL, memilih pangkalan data dan berulang melalui fail .sql baris demi baris, melaksanakan pertanyaan yang dihadapi. Ia menyediakan pengendalian ralat dan mencetak mesej kejayaan apabila import berjaya.

Atas ialah kandungan terperinci Bagaimana untuk Mengimport Fail .sql ke dalam Pangkalan Data MySQL Menggunakan PHP Tanpa Menghadapi Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn