【发布时间】:2016-08-24 14:54:05
【问题描述】:
我尝试使用 Codeigniter 的查询构建器类更新我的“设置”表。 这是我的php代码:
public function update_settings($post_array) {
foreach ($post_array as $setting_name => $setting_value) {
$this->db->set('setting_value', $setting_value);
$this->db->where('setting_name', $setting_name);
$query_parts[] = $this->db->get_compiled_update('settings');
}
$full_query = implode(';', $query_parts);
$this->db->query($this->db->escape($full_query));
if ($this->db->affected_rows() == 1 || $this->db->affected_rows() == 0) {
return TRUE;
} else {
return FALSE;
}
}
当我提交我的设置表单时。波纹管错误正在弹出。
【问题讨论】:
-
逐个运行查询
-
是的!但我认为这种方法很好,因为当我一个一个运行更新查询时,它会进行多个数据库调用。
-
没关系。数据库非常习惯于调用,这没有问题。
-
感谢您的输入 :) 但仍然想知道导致错误的原因。当我将上图中生成的 sql 字符串复制到 phpmyadmin sql 运行表单中时,它工作正常。
-
这个错误是因为你不能同时运行多个查询。
标签: php sql database codeigniter codeigniter-3