使用 PHP 将 .sql 文件导入 MySQL 数据库
尝试使用 PHP 将 .sql 文件导入 MySQL 数据库时,导入过程中经常会遇到错误消息,报告出现问题。此错误消息包括有关数据库名称、用户名、密码、主机名和导入文件名的详细信息。
问题中提供的代码使用 mysql_* 函数,该函数从 PHP 5.5.0 开始已弃用并在 PHP 7.0.0 中删除。相反,应该使用替代的 MySQL API,例如 mysqli 或 PDO_MySQL。
使用 MySQL 客户端的替代导入方法
将文件导入过程委托给 MySQL 客户端通常是更可靠的方法。 MySQL 提供了可以高效处理导入的命令行工具。
改进了导入 .sql 文件的 PHP 代码
提供了使用更合适的导入方法的替代 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'; // 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(); ?>
此改进的代码利用 mysqli 扩展连接到 MySQL 并执行 .sql 文件行中的查询按线路。
以上是如何使用 PHP 安全地将 .sql 文件导入 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!