尝试从CSV导入数据时遇到了一些问题,但还有一些问题,我还没有解决。
首先,这是我的代码,可以帮助您更好地了解事物(将其整理一些,删除CSS和DB连接):
$deleterecords = "TRUNCATE TABLE tablename"; //empty the table of its current records
mysql_query($deleterecords);
//Upload File
if (isset($_POST['submit'])) {
if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
echo "
" . "File ". $_FILES['filename']['name'] ." uploaded
successfully." . "";
echo "
Displaying contents:
";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 importing(text,number)values('$data[0]','$data[1]')";
mysql_query($import) or die(mysql_error());
}
fclose($handle);
print "Import done";
//view upload form
} else {
print "Upload new csv by browsing to file and clicking on Upload
\n";
print "
";print "File name to import:
\n";
print "
\n";
print "
";}
?>
从本质上讲,这是我对各种方法进行多次尝试后发现的示例的改编。
我的CSV有两列数据,第一列是文本,第二列是整数数据库中的表也有两列,第一列称为“文本”,第二列为“数字”
所以我的问题是:
正在上传的文本只是在每个字段中显示为0,我不确定为什么
我一直在阅读有关以“”括起来的数据的信息,如果发生这种情况,我将如何对其进行排序?
如何忽略标题等的CSV的前X行?
在整个过程中数据格式是否已更改,或者是否可以在图形中使用?例如,一旦放入数据库,小数点会保留小数点吗?
我想涵盖了所有内容,在此先感谢您的帮助!
编辑:
刚刚对10,000条记录上传进行了测试,但出现错误:
“致命错误:超过30秒的最大执行时间”
有什么想法吗?