如何使用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行上失败,不知道为什么。
在我的代码中编辑我删除了那里的“@”,它仍然说文件加载失败
答案 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)
LOAD DATA INFILE
,因为它不能与远程数据库服务器一起使用,并且要求数据库服务器可以读取数据文件。自己解析文件并生成SQL语句。