Home >Database >Mysql Tutorial >How Can I Safely Import a .sql File into MySQL Using PHP?

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

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

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

Importing a .sql File into a MySQL Database Using PHP

When attempting to import a .sql file into a MySQL database using PHP, an error message is often encountered, reporting a problem during the import. This error message includes details about the database name, user name, password, host name, and import filename.

The code provided in the question utilizes the mysql_* functions, which have been deprecated as of PHP 5.5.0 and removed in PHP 7.0.0. Instead, alternative MySQL APIs such as mysqli or PDO_MySQL should be employed.

Alternative Import Method Using MySQL Client

Delegating the file import process to the MySQL client is generally a more reliable approach. MySQL provides command-line tools that can handle imports efficiently.

Improved PHP Code to Import .sql File

An alternative PHP code using a more appropriate import method is provided below:

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

?>

This improved code utilizes the mysqli extension to connect to MySQL and execute the queries from the .sql file line by line.

The above is the detailed content of How Can I Safely Import a .sql File into MySQL Using PHP?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn