【发布时间】:2013-01-23 15:02:00
【问题描述】:
我正在研究 Drupal CMS,我正在解析文件并将数据存储在数据库中。
因此,如果文件中有超过 440 条记录(行),则不会进一步保存。它适用于少于 440 的行。这是一个奇怪的问题。
$query = db_insert('table_name')->fields(array('field1', 'field2', 'field3'));
$row = 1;
while (($data = fgetcsv($handle, 0, ",")) !== FALSE)
{
$num = count($data);
if ($row > 1) {
$query->values(
array(
'fields1' => $data[0],
'fields2' => $data[2],
'fields3' => $data[4]
));
if($row == '440'){
break;
}
}
$row++;
}
$query->execute();
///// if($row == '440'){ 休息; }
添加是为了检查它保存了多少行。如果我将 440 增加到 460,它不会将记录保存到数据库。
【问题讨论】:
-
我已经添加了break语句来检查它是否保存了440条记录。它适用于 440,但如果文件有 600 行,它也不会保存单行。
-
那个测试没有意义。通过添加它你保证你不会写超过 440 行。我的意思是...如果将其设置为 441 会发生什么?根据你所说的,只有 440 行被写入。您不需要 if/break 来向您显示,除非您在记录 441 上遇到某种错误并且您希望防止这种情况发生。如果您遇到错误,您应该在问题中包含错误的详细信息。