我很难弄清楚如何使用db_insert插入很多记录
请看下面的代码。
数组中不能有for循环。它打破了,但我正在处理循环遍历许多数据。48 (州)x 365 (#天)x 36年。
做这件事最好的方法是什么?
谢谢!
$query = db_insert('HDD')
->fields(array(
for ($s = 0; $s <= $cnt; $s++) {
'HDDDAYS' => $time, //Loops through the dates
'AL'=> $output1[$sts[0]][$dts[$s]],
'AR'=> $output1[$sts[1]][$dts[$s]],
'AZ'=> $output1[$sts[2]][$dts[$s]],
'CA'=> $output1[$sts[3]][$dts[$s]],
'CO'=> $output1[$sts[4]][$dts[$s]],
'CT'=> $output1[$sts[5]][$dts[$s]],
'DE'=> $output1[$sts[6]][$dts[$s]],
'FL'=> $output1[$sts[7]][$dts[$s]],
....
'WI'=> $output1[$sts[45]][$dts[$s]],
'WV'=> $output1[$sts[46]][$dts[$s]],
'WY'=> $output1[$sts[47]][$dts[$s]]
}));
$query->execute();
发布于 2018-07-07 21:31:12
可以先定义查询字段,然后在执行查询之前在循环中设置字段值。
示例(未测试):
$query = db_insert('HDD')->fields(array(
'HDDDAYS',
'AL',
'AR',
...
));
for ($s = 0; $s <= $cnt; $s++) {
$query->values(array(
'HDDDAYS' => $time,
'AL' => $output1[$sts[0]][$dts[$s]],
'AR' => $output1[$sts[1]][$dts[$s]],
...
));
}
$query->execute();
https://drupal.stackexchange.com/questions/264415
复制