从PHP中加载sql文件

时间:2014-03-04 15:01:28

标签: php mysql sql

如何使用php
在mysql数据库中导入* .sql 我怎么能这样做,请帮我解决这个问题谢谢
这是我的代码:

if (mysql_connect('localhost', 'root', ''))
{
    print_success("Connection à la base de donnée réussie.")   ;
}
else print_error(mysql_error()) ; 

mysql_query(" CREATE SCHEMA IF NOT EXISTS ".$_SESSION['dbname']." DEFAULT CHARACTER SET utf8 COLLATE utf8_swedish_ci ; ") or print_error(mysql_error()) ; 


// Création du User/Password
$_SESSION['dbuser'] = "user".$_SESSION['subdomain'];
$_SESSION['dbpassword'] = substr(md5($_SESSION['subdomain'].$_SESSION['subdomain']),0,12);

@mysql_query(" DROP USER ".$_SESSION['dbuser']." ; ") ;  
mysql_query(" CREATE USER ".$_SESSION['dbuser']." IDENTIFIED BY '".$_SESSION['dbpassword']."'; ") or print_error(mysql_error()) ; 

if(WEBSERVER) mysql_query(" GRANT ALL PRIVILEGES ON ".$_SESSION['dbname'].".* TO '".$_SESSION['dbuser']."'@'localhost' IDENTIFIED BY '".$_SESSION['dbpassword']."' ; ") or print_error(mysql_error()) ; 
else mysql_query(" GRANT ALL PRIVILEGES ON ".$_SESSION['dbname'].".* TO '".$_SESSION['dbuser']."'@'10.0.66.%' IDENTIFIED BY '".$_SESSION['dbpassword']."' ; ") or print_error(mysql_error()) ;

$sqlFile = "Database.sql";
$command='mysql -h localhost -u root ".$_SESSION['dbname']." < ' .$sqlFile;

它创建一个空数据库,并将sql文件转储到当前数据库中,该数据库重复项目!

1 个答案:

答案 0 :(得分:0)

在您的代码中,您的$_SESSION['dbname']应设置为您要执行转储的数据库。

但是,假设这是正确的(我假设,因为脚本创建了空DB),请检查.sql文件以确保它不是创建或使用数据库(USE xyzCREATE DATABASE xyz)在该文件中。

作为编辑,我想请求Database.sql文件确认它没有切换DB。当然,如果您满足此要求,请编辑敏感信息。