如何使用php使用备份文件创建包含表和信息的数据库?

时间:2009-08-17 00:01:04

标签: php sql

如何使用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 个答案:

答案 0 :(得分:0)

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

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

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

LOAD DATA INFILE'/ home / jim / loadoutitmsfx.csv'INTO TABLE tf2faq.loadoutitems 字段被',''''''''''''''''''''''''''''''''''' 由'\ r \ n'

终止的线路

此外,请勿使用@。

答案 1 :(得分:0)

在大多数MySQL服务器上禁用

LOAD DATA INFILE,因为它不能与远程数据库服务器一起使用,并且要求数据库服务器可以读取数据文件。自己解析文件并生成SQL语句。