我对此很陌生,所以希望我不会离开这里:
我有一个名为BT Database的数据库,其中有一个名为cases_cases的表。我希望能够使用php脚本自动将.csv文件上传到其中。我制作了一个php脚本和一个测试csv文件,将它们放在托管数据库的XUbuntu机器的桌面上。
我通过打开终端,导航到桌面,然后使用php -e(testimport.php)来运行脚本来测试它们。我没有错误,只是一个空行,所以它似乎运行正常,但是当我进入表格时,来自csv的数据还没有上传。任何人都可以建议我在这里做错了什么?我的php脚本如下:
$products = Product::model()->findAll(array(
"condition" => $condition + 'where product_id != 999',
'order' => 'product_name ASC'
));
编辑1: 遵循每个人的好建议,我删除了逗号,将我的脚本升级到mysqli,并在我的脚本中调用了实际的mysql错误。这显示了一些以前看不见的问题,这些问题很容易解决。
但是,现在我遇到了和以前一样的问题,即它运行并且没有错误,但数据库表中没有显示任何错误。新脚本如下。什么想法可能会出错?
<?php
//connect to the database
$connect = mysql_connect("localhost","user","password")
or die("Could not connect.")
;
mysql_select_db("BT Database",$connect);
//get the csv file
$handle = fopen("import.csv","r")
or die("Couldn't find or open csv file")
;
//set up the query to load data into the table, then run it.
$loadcases = "LOAD DATA INFILE 'import.csv'
INTO TABLE cases_cases
FIELDS TERMINATED BY ''
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY ',,,\\r\\n'
IGNORE 1 LINES
(name, @dummy, case_specific_notes, type, initiation_date, @dummy,)"
or die("error loading file.")
;
mysql_query($loadcases)
;
?>
答案 0 :(得分:1)
如果您的问题仍然没有收到通知,或者您是否已经阅读过这些评论,则可能会在答案区域提交以下内容。
@dummy,)
中的尾随逗号不应该存在。
使用die(mysql_error($connect))
会引发语法错误,而不是使用通用的回显文本。
旁注:当然希望这不是一个糟糕的粘贴/错字。