当前位置: 首页 > 面试题库 >

如何使用PHP在mysql数据库中导入.sql文件?

危晨
2023-03-14
问题内容

我正在尝试通过PHP代码导入.sql文件。但是,我的代码显示此错误:

There was an error during import. Please make sure the import file is saved in the same folder as this script and check your values:

MySQL Database Name:    test
MySQL User Name:    root
MySQL Password: NOTSHOWN
MySQL Host Name:    localhost
MySQL Import Filename:  dbbackupmember.sql

这是我的代码:

<?php
//ENTER THE RELEVANT INFO BELOW
$mysqlDatabaseName ='test';
$mysqlUserName ='root';
$mysqlPassword ='';
$mysqlHostName ='localhost';
$mysqlImportFilename ='dbbackupmember.sql';
//DONT EDIT BELOW THIS LINE
//Export the database and output the status to the page
$command='mysql -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' < ' .$mysqlImportFilename;
exec($command,$output=array(),$worked);
switch($worked){
    case 0:
        echo 'Import file <b>' .$mysqlImportFilename .'</b> successfully imported to database <b>' .$mysqlDatabaseName .'</b>';
        break;
    case 1:
        echo 'There was an error during import. Please make sure the import file is saved in the same folder as this script and check your values:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr><tr><td>MySQL Import Filename:</td><td><b>' .$mysqlImportFilename .'</b></td></tr></table>';
        break;
}
?>

我究竟做错了什么?SQL文件位于同一目录中。


问题答案:

警告: mysql_*自PHP 5.5.0起,扩展名已弃用,自PHP
7.0.0起,扩展名已删除。相反,应使用mysqli或PDO_MySQL扩展名。另请参见MySQL
API概述,
以获取选择MySQL
API时的更多帮助。
只要有可能,应将文件导入MySQL委托给MySQL客户端。

我有另一种方法可以尝试

<?php

// Name of the file
$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());

// Temporary variable, used to store current query
$templine = '';
// Read in entire file
$lines = file($filename);
// Loop through each line
foreach ($lines as $line)
{
// Skip it if it's a comment
if (substr($line, 0, 2) == '--' || $line == '')
    continue;

// Add this line to the current segment
$templine .= $line;
// If it has a semicolon at the end, it's the end of the query
if (substr(trim($line), -1, 1) == ';')
{
    // Perform the query
    mysql_query($templine) or print('Error performing query \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
    // Reset temp variable to empty
    $templine = '';
}
}
 echo "Tables imported successfully";
?>

这对我有用



 类似资料:
  • 我做错了什么?SQL文件位于同一目录中。

  • 我正在尝试用php将.sql文件导入mysql数据库,但我不能 THNX.

  • 问题内容: 我想将最大大小为10MB的大文件上传到我的MySQL数据库。使用我将PHP自己的文件上传限制更改为“ 10485760” = 10MB。我最多可以上传10MB的文件。 但是,如果文件大小超过1 MB,则无法将其插入数据库中。 我正在读取所有文件数据,并将其作为要插入LONGBLOB字段中的字符串传递给insert查询。 但是,大于1 MB的文件不会添加到数据库中,尽管我可以用来确保文件

  • 问题内容: 我被要求使用php脚本而不是phpmyadmin创建一个将其结构和数据导出并导入mysql数据库的.sql文件,以使用户能够备份其数据? 有人知道该怎么做吗? 提前致谢 问题答案: http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/using-php-to-backup- mysql-databases.aspx 要么 要么

  • 问题内容: 谁能解释一下如何将Microsoft Excel文件导入到MySQL数据库中? 例如,我的Excel表如下所示: 问题答案: 将其导出为某种文本格式。最简单的可能是制表符分隔的版本,但是CSV也可以使用。 使用加载数据功能。见http://dev.mysql.com/doc/refman/5.1/en/load-data.html 查看页面的一半,因为它将为制表符分隔的数据提供一个很好