首页 > 解决方案 > 从 foreach 循环重复插入

问题描述

我有一个问题,我试图将数据插入表中,但我需要先检索 id

  $get_ = $db->prepare("SELECT * FROM  table
                        WHERE id = :id");
  $get_->execute(['id' =>$id]);

  $get_ = $get_->fetchAll();

  foreach ($get_member as $k) {

    $not = "INSERT INTO notifications(..., ..., ...,id)
            VALUES(:..,:...,:...,:id);
    $q = $bdd->prepare($not);

    $q->execute([
        '..' => ,
        'id' => $k['id'] // from foreach loop
    ])

}

我想要插入与循环返回结果一样多的次数。

先感谢您

标签: phpsqlforeach

解决方案


为什么要对 SQL 本身执行的操作使用循环?你应该使用insert . . . select

INSERT INTO notifications (..., ..., ...,id)
    SELECT :.., :..., :..., t.id
    FROM table t;

推荐阅读