【发布时间】:2015-07-29 21:41:55
【问题描述】:
我目前在 PHP 中使用 MongoDB 时遇到了一些问题。
我正在从 CSV 文件中提取财务数据记录,几乎是一次演出,我正在循环遍历文件并输出和解析数组。
在 while 循环期间,我还尝试将数据插入到 MongoDB 中
// Increase timeout on php script
ini_set('max_execution_time', 600);
while (($data = fgetcsv($file, 0, ",")) !==FALSE) {
$parsedData['name'] = $data['0'];
$parsedData['email'] = $data['1'];
$parsedData['phone'] = $data['2'];
$parsedData['address'] = $data['3'];
$parsedData['gender'] = $data['4'];
$collection->insert($parsedData);
}
所以问题是它只插入了一条或几条记录,我真的不能说它看起来很随机。
这里的任何帮助都会很棒。
测试完成
- 在使用 mysql 测试时运行相同的函数返回成功。
- print_r($parsedData) 显示所需的值。
- 包装 $collection->insert 在 if 语句中返回 true
【问题讨论】:
-
什么是
$parsedData? -
你是从命令行运行这个吗?因为根据您的服务器,通常会有 30 秒的超时。
-
我正在卷曲这个并且在模型的顶部也有以下内容 ini_set('max_execution_time', 600);
-
@Livewire 更新超时秒数,即使超时我应该在数据库中获得不止一条记录?
-
什么都没看到,只能猜测数据文件有坏的换行符或者PHP函数fgetcsv()无法解析的换行符。