首页 >数据库 >mysql教程 >如何使用 PHP 安全地将 .sql 文件导入 MySQL?

如何使用 PHP 安全地将 .sql 文件导入 MySQL?

Patricia Arquette
Patricia Arquette原创
2024-12-06 21:20:13459浏览

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

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn