PHP / MySQL根据以前的查询结果插入多个记录

时间:2014-01-04 10:22:58

标签: php arrays insert mysqli

我正在尝试开发一个PHP脚本,通知高级会员对我网站的某些功能所做的更改,但我不确定如何将多个记录添加到通知表中。我所拥有的是:

    $get_pro_sql = "SELECT id FROM members WHERE pro = '1'";
    $get_pro_res = mysqli_query($con, $get_pro_sql);

while($row = mysqli_fetch_assoc($get_pro_res){
    $memberid = $row["id"];
}
$message = "My New Message";
foreach($row){



    $insert_note_sql = "INSERT INTO notes(id, recipient, message, ..., ...) VALUES('', 'Member_Id__Returned_From_Previous_Query', '$message')";
    $insert_note_res = mysqli_query($con, $insert_note_sql);
    // Inserts 5 Records

关于如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:1)

您可以通过使用子查询插入多行来实现此目的。

实际上你可以这样做:

INSERT INTO Results (People, names )
   SELECT d.id, 'Henry'
   FROM Names f
   JOIN People d ON d.id  = f.id

在子查询中,您可以选择要插入的实际值。

More on this topic here