我有.csv
9k 行的文件。当我使用以下脚本时php manual
:
<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
?>
我从文件中找到了我的output
每一个单元格。csv
当我想将每一行视为记录创建对象并将其存储到数据库中时,就会出现问题。我已将其修改为:
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$num = count($data);
$record= new Record($db);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
$record->$attributes[$c] = utf8_encode($data[$c]);
}
$record->Store();
}
fclose($handle);
}
在这种情况下,只有大约 2k 条记录存储到我的PostgreSQL
数据库中,但没有显示异常或错误。我不知道为什么我的循环停止。每次我运行脚本时,它都会加载到我的数据库中,不同数量的记录在 1,6k 和 2,1k 之间。
我对我没有任何限制PostgreSQL
(至少我不知道任何..)
谁能解释我做错了什么?