【发布时间】:2017-06-21 14:17:21
【问题描述】:
我正在向数据库中插入多张图片,但出现这样的错误
您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 靠近第 1 行的 '0, 1) VALUES (Array, Array)'
INSERT INTO
CompleteProjectImage(0, 1) 值(数组,数组)
我在控制器中保存所选图像的列表并将其传递给我的模型。
这是我要插入数据库的模型编码。
public function create($projectDetails, $projectDescriptions, $projectImages){
$this->db->trans_begin();
$this->db->insert(self::$tblCompleteProject, $projectDetails);
$insert_id = $this->db->insert_id();
foreach ($projectDescriptions as $projectDescription) {
$insertDescription = array(
'project_id' => $insert_id,
'description' => $projectDescription,
);
}
$this->db->insert(self::$tblCompleteProjectDescription, $insertDescription);
foreach ($projectImages as $projectImage) {
$insertImage[] = array(
'project_id' => $insert_id,
'img_src' => $projectImage['img_src'],
);
}
$this->db->insert(self::$tblCompleteProjectImage, $insertImage); // Error inserting to this database
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
}
else
{
$this->db->trans_commit();
return ($this->db->affected_rows() != 1) ? false : true;
}
}
print_array($insertImage); 结果:
Array
(
[0] => Array
(
[project_id] => 5
[img_src] => 594a7f9a79285.jpg
)
[1] => Array
(
[project_id] => 5
[img_src] => 594a7f9a792851.jpg
)
)
【问题讨论】:
-
嗯.. 看起来那个古老框架中的查询构建器不支持在单个查询中插入多行。尝试查找
insert()方法的源代码,或者在循环中执行插入操作。
标签: php mysql arrays codeigniter