我已经搜索了其他提出的问题,但是解决方案不适合我想要达到的目标。我也不知道是否需要嵌套的foreach,但这是我唯一能想到的。 我有一个包含ilustrations及其作者的表单,我想在表中存储ilustration id和ilustration author以及内部表单id。 表单获取如下字段信息:
idparatextualidad:1,1
$ ilustracion:1,2
$ autor:John Doe-Mark Doe
这是我已经写的代码。
$autorilustracion = explode("-", $autorilustraciones);
$prp2 = pg_prepare($con,"ilustraciones_paratextualidad","insert into carto.paratextualidadilustraciones (idparatextualidad,idilustraciones,autorilustraciones) select last_value,$1,$2 from carto.paratextualidad_idparatextualidad_seq;");
foreach ($autorilustracion as $key => $autor) {
echo $autor;
foreach ($ilustraciones as $key => $ilustracion) {
$prp2 = pg_execute($con,"ilustraciones_paratextualidad",array($ilustracion,$autor));
if (!$prp2) {
return '2: '.pg_errormessage($con);
}
}
}
此解决方案复制了结果,因此尝试像这样先插入John Doe的两个记录,然后插入Mark Doe的两个记录
idparatextualidad ilustrationid作者名
1 1 John Doe
1 2 John Doe
1 1马克·多伊
1 2马克·多伊
因此数据库给出错误,因为在fid,ilustrationid上有重复的主键。 有什么提示吗? 提前致意