php - 使用 PHP 到 MySQL 的多次插入不适合我,但适合其他人

标签 php mysql insert

我可以看到这个问题被问了很多,我尝试遵循一些人们说对他们有用的答案,但仍然对我不起作用。 我想在数据库中插入可变数量的元素。这是我的代码:

$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>";
}

问题是,当我只给它一个元素时,它会起作用,但当有更多元素时,它会返回错误。我尝试在元素之间添加“,”而不是“,”,但没有任何反应...... 可能是MySQL配置的原因?因为我无法思考其他任何事情,因为它似乎对其他人有用...... 谢谢!

编辑:这是 echo $query2 的结果:INSERT INTO relaciones (id, relacionadocon) VALUES (65, 12), (65, 26) 编辑2:我使用 phpmyadmin 创建了该表。有2张 table 。第一个注册信息并使用自动递增的 ID。因此,列是 ID、标题和评论。但每条评论都与 1 个或多个评论相关。这就是为什么另一个表有 2 列:ID 和RelatedTo。例如,当创建注释编号 5 时,您可以将其与注释 1、2 和 3 相关联。这就是 INSERT 应该通过的原因:(5,1)、(5,2)、(5,3)。再说一次,如果我只有 (5,1),它就会起作用。我没有为第二个表的 ID 提供主键,只为第一个表提供主键。

最佳答案

我认为 ID 字段是主键,不应该被写入。您可以尝试在 phpmyadmin 中运行 INSERT INTO relaciones (id, relacionadocon) VALUES (65, 12), (65, 26) 看看结果是什么?

关于php - 使用 PHP 到 MySQL 的多次插入不适合我,但适合其他人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24147574/

相关文章:

php - 我的 MYSQL 数据库使用哪种搜索方法

javascript - 如何将javascript变量传递给html标签

PHP GET方法空间错误

php - 安装了 Pthreads 扩展,但仍然出现 PHP fatal error : Class 'Thread' not found

MySQL 从 CSV 数据加载 NULL 值

javascript - ER_BAD_FIELD_ERROR : Unknown column in 'field list'

mysql - 如何制作自增INSERT INTO语句?

sql - 一个 SQL 查询中的多个插入

mysql - Node/Express + MySQL : Inserts not displaying instantly

android - 在 ListView 的顶部显示新项目