如何使用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文件转储到当前数据库中,该数据库重复项目!
答案 0 :(得分:0)
在您的代码中,您的$_SESSION['dbname']
应设置为您要执行转储的数据库。
但是,假设这是正确的(我假设,因为脚本创建了空DB),请检查.sql文件以确保它不是创建或使用数据库(USE xyz
或CREATE DATABASE xyz
)在该文件中。
作为编辑,我想请求Database.sql文件确认它没有切换DB。当然,如果您满足此要求,请编辑敏感信息。