Home >Database >Mysql Tutorial >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!