2009-08-17 47 views
1

如何使用php通过备份文件创建带有表格和信息的数据库?如何使用php使用备份文件创建带有表格和信息的数据库?

到目前为止我的代码是

<? 
header("content-type:text/plain"); 

$serv= mysql_connect('localhost', 'root', 'xxxx'); 

if($serv){ 
     wText("Server connection created"); 
} 
else{ 
    wText("Server connection failed"); 

} 

$sql ="CREATE DATABASE tf2faq"; 

if(@mysql_query($sql,$serv)){ 

    wText("Database tf2faq created"); 
} 
else{wText("Database tf2faq create failed");} 




$sql = 'CREATE TABLE `tf2faq`.`loadoutitems` (`item` TEXT NULL, `class` TEXT NULL, `type` TEXT NULL, `replaces` TEXT NULL, `itempos` TEXT NULL, `modpos` TEXT NULL, `modneg` TEXT NULL, `imgurl` TEXT NULL, `notes` TEXT NULL) ENGINE = MyISAM'; 
mysql_query($sql,$serv); 
if(@mysql_query($sql,$serv)){ 
wText("table loadoutitems created"); 
} 
else{ 
wText("table loadoutitems create failed"); 

} 

$sql="LOAD DATA INFILE 'loadoutitmsfx.csv' INTO TABLE `tf2faq`.'loadoutitems'"; 

if(@mysql_query($sql,$serv)){ 
wText("Data Load Passed"); 
} 
else{ 
wText("Data Load Failed"); 
} 



function wText($txt){ 
    echo $txt . "\n"; 
} 
?> 

它的LOAD DATA线路出现故障时,不知道为什么。

编辑在我的代码我在那里去掉了“@”,它仍然表示,文件加载失败

+2

我知道你为什么“不确定为什么”因为你使用e恐怖压制运营商@。删除它并查看mysql_query的错误消息/代码。 – Sergei 2009-08-17 00:14:53

+0

我当然会做 – Jim 2009-08-17 02:09:43

回答

0

哪里loadoutitmsfx.csv?该文件需要位于运行数据库的计算机上。你可以尝试指定它的整个路径。就像“/home/jim/loadoutitmsfx.csv”。

csv文件和表中的列数是否匹配?

您可能需要指定一些更多选项才能使csv工作。

LOAD DATA INFILE '/home/jim/loadoutitmsfx.csv' INTO TABLE tf2faq.loadoutitems 场TERMINATED BY '' ENCLOSED BY '“' ESCAPED BY '\ r \ N'

'\' LINES TERMINATED BY

另外不要使用@。

+0

该脚本将被上传到网络服务器,这也是数据库补偿,所以想想这是一个配对, 我这样做的方式是调用php realpath()并将\ with a \\ 所以你的行LOAD DATA INFILE reapath(文件位置).replace(“\”,“\\”)INTO TABLE tf2faq.loadoutitems FIELDS TERMINATED BY','ENCLOSED BY'''ESCAPED BY'\'LINES TERMINATED BY'\ r \ n' 我用继承为例,因为我知道不正确的代码,但是否有一个“@”或不是它扔没有错误,所以我不得不使用 回声mysql_error()获取错误应该抛出,你的导入是正确的 – Jim 2009-08-17 03:19:52

0

LOAD DATA INFILE是大多数MySQL服务器禁用,因为它不与远程数据库服务器的工作和要求的数据文件是由数据库服务器读取。自己解析文件和生成SQL语句

相关问题