【发布时间】:2014-09-02 00:26:33
【问题描述】:
我在数据库中有以下表格字段:
id, user_id, permission_id, value, created.
我有一个数组的结果,它一次可能包含 20 多个不同的值。整个包含permission_id 值,其余字段相似。像user_id 将是唯一一个将与每个permission_id 和value 插入相同的1 和created 与包含当前日期和时间相同。
现在我可以使用以下代码插入数据库:
$user_perms=$this->input->post('permissions');
foreach($user_perms as $perms) {
$userPerms['permission_id']=$perms;
$userPerms['user_id']=$uid;
$userPerms['value']=1;
$userPerms['created']=date("Y-m-d H:i:s");
$this->admins->insertPerms($userPerms);
}
现在它运行得很好。但我想让它更高效、更快速。您可能已经注意到,我在 foreach 循环中运行了 insert query。因此,当用户在后端单击提交时,查询可能一次运行超过 30 次。这不是一个好主意。
因此,我怎样才能一次插入没有循环的数据?
【问题讨论】:
标签: php mysql arrays codeigniter