Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengimport Fail .sql dengan Selamat ke MySQL Menggunakan PHP?

Bagaimanakah Saya Boleh Mengimport Fail .sql dengan Selamat ke MySQL Menggunakan PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-06 21:20:13458semak imbas

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

Mengimport Fail .sql ke dalam Pangkalan Data MySQL Menggunakan PHP

Apabila cuba mengimport fail .sql ke dalam pangkalan data MySQL menggunakan PHP, mesej ralat sering ditemui, melaporkan masalah semasa import. Mesej ralat ini termasuk butiran tentang nama pangkalan data, nama pengguna, kata laluan, nama hos dan nama fail import.

Kod yang disediakan dalam soalan menggunakan fungsi mysql_*, yang telah ditamatkan pada PHP 5.5.0 dan dialih keluar dalam PHP 7.0.0. Sebaliknya, API MySQL alternatif seperti mysqli atau PDO_MySQL harus digunakan.

Kaedah Import Alternatif Menggunakan Klien MySQL

Mewakilkan proses import fail kepada klien MySQL biasanya pendekatan yang lebih dipercayai. MySQL menyediakan alatan baris arahan yang boleh mengendalikan import dengan cekap.

Kod PHP yang Diperbaiki untuk Mengimport Fail .sql

Kod PHP alternatif menggunakan kaedah import yang lebih sesuai disediakan di bawah:

<?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();

?>

Kod yang dipertingkatkan ini menggunakan sambungan mysqli untuk menyambung ke MySQL dan melaksanakan pertanyaan daripada Fail .sql baris demi baris.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengimport Fail .sql dengan Selamat ke MySQL Menggunakan PHP?. 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