我有这个脚本,它允许我将csv文件内容插入到mysql中,现在,我的问题是,我不知道为什么它会将日期和手机号码字段放在同一个位置。日期和手机号码在数据库中都是不同的字段,都是varchar类型。
现在,这是代码:
if (isset($_POST['submit'])) {
if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
echo "<h2>Displaying contents:</h2>";
readfile($_FILES['filename']['tmp_name']);
}
//Import uploaded file to Database
$handle = fopen($_FILES['filename']['tmp_name'], "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$import="INSERT into imovo(date,time,location,rbpos_id,mobile_number) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')";
mysql_query($import) or die(mysql_error());
}
fclose($handle);
print "Import done";
它无法正确上传数据。以下是它上传数据的方式,数据不会全部进入数据库:
8/31/12,12:34:40,Tirane1,2345,662080090 8/32/2012,15:34:40 PM,Tirane2,2345,662080091 8/33/2012,18:34:40 PM,Tirane3,2345,662080092Import done
如果你看到了,日期和手机号码就在一起了。。
手机号码和日期不在一起,它们之间的空格意味着另一条记录(这是源代码中的新行)。这和最后一样,当打印"导入完成"时会粘在手机号码上。
也许问题是没有这样的时间:
18:34:40 PM
现在是18:34:40或6:34:40 PM