首页  >  文章  >  后端开发  >  如何使用 PHP 将 .sql 文件导入 MySQL 数据库而不遇到错误?

如何使用 PHP 将 .sql 文件导入 MySQL 数据库而不遇到错误?

Linda Hamilton
Linda Hamilton原创
2024-10-31 10:45:02816浏览

How to Import a .sql File into a MySQL Database Using PHP Without Encountering Errors?

使用 PHP 将 .sql 文件导入 MySQL 数据库

尝试通过 PHP 将 .sql 文件导入 MySQL 数据库时,您可能会遇到错误:“导入期间出错。请确保导入文件与此脚本保存在同一文件夹中,并检查您的值。”。此错误通常是由于已弃用的 MySQL 扩展或不正确的使用而引起的。

已弃用的 mysql_* 扩展已在 PHP 7.0.0 中删除,使其无法使用。根据 PHP 文档中的建议,建议使用 mysqli 或 PDO_MySQL 扩展作为替代方案。

或者,您可以使用以下代码片段导入 .sql 文件:

<code class="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';

// Connect to MySQL server
mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('Error connecting to MySQL server: ' . mysql_error());
// Select database
mysql_select_db($mysql_database) or die('Error selecting MySQL database: ' . mysql_error());

// Declare variables
$templine = '';
$lines = file($filename);

// Iterate through file lines
foreach ($lines as $line) {
    // Ignore comments and empty lines
    if (substr($line, 0, 2) == '--' || $line == '') {
        continue;
    }

    // Append line to temporary query
    $templine .= $line;
    // Check for semicolon to mark end of query
    if (substr(trim($line), -1, 1) == ';') {
        // Execute query and handle errors
        mysql_query($templine) or print('Error performing query \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
        // Reset temporary query
        $templine = '';
    }
}

// Success message
echo "Tables imported successfully";

?></code>

此方法连接到 MySQL 服务器,选择数据库,并逐行迭代 .sql 文件,执行遇到的查询。它提供错误处理并在成功导入时打印成功消息。

以上是如何使用 PHP 将 .sql 文件导入 MySQL 数据库而不遇到错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

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