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

我正在尝试通过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 \'<span>' . $templine . '\': ' . mysql_error() . '<br /><br />');

// Reset temp variable to empty

$templine = '';

}

}

echo "Tables imported successfully";

?>

这对我有用

以上是 如何使用PHP在mysql数据库中导入.sql文件? 的全部内容, 来源链接: utcz.com/qa/406135.html

回到顶部