我可以看到这个问题被问了很多,我已经尝试过一些人们认为对他们有用的答案,但它仍然不适合我。 我想在我的数据库中插入可变数量的元素。这是我的代码:
$actual_id = $db->insert_id;
$sql = array();
foreach( $relacionado as $row ) {
$sql[] = '('.$actual_id.', '.$row.')';
}
$query2 = 'INSERT INTO relaciones (id, relacionadocon) VALUES '.implode(', ', $sql);
echo $query2;
$result2 = $db->query($query2);
if($result2){
echo "<p>".$db->affected_rows."fields inserted</p>";
}else{
echo "<p>Error</p>";
}
当我只给它一个元素但是当有更多元素时返回错误时,它是有效的。我尝试添加&#34;,&#34;而不是&#34;,&#34;元素之间但没有任何反应...... 可能是因为MySQL的配置?因为我似乎无法思考其他任何因素,因为它似乎对其他人有用...... 谢谢!
编辑:这是echo $ query2的结果:INSERT INTO relaciones(id,relacionadocon)VALUES(65,12),(65,26) EDIT2:我使用phpmyadmin创建了表。有2个表。第一个注册信息并使用自动增加ID。因此,列是ID,标题和注释。但每条评论都与一条或多条评论有关。这就是为什么有另一个表有2个列:ID和RelatedTo。例如,当创建注释编号5时,可以将其与注释1,2和3相关联。这就是INSERT应该传递的原因:(5,1),(5,2),(5,3)。再一次,如果我只有(5,1),那就行了。我没有给第二个表的ID提供主键,只给第一个表。
答案 0 :(得分:0)
我认为ID字段是主键,不应该写入。你能尝试在phpmyadmin中运行INSERT INTO relaciones(id,relacionadocon)VALUES(65,12),(65,26)来查看结果是什么吗?