Php 基于数组在mysql表中添加多行

Php 基于数组在mysql表中添加多行,php,mysql,arrays,multidimensional-array,Php,Mysql,Arrays,Multidimensional Array,我有一个表单,允许人们互相发送消息,用户可以选择多个人发送消息,当我提交表单时,它会在数组中为我提供被选择发送消息的人的姓名和id。正常运行在这里,我可以让它为一个单一的收件人工作 我希望能够使用这个数组并在mysql表的不同行中为每个用户插入消息 这是我提交表单时得到的数组 Array ( [to_user_id] => Array ( [0] => 54 [1] => 55 ) [subject] => aaa [me

我有一个表单,允许人们互相发送消息,用户可以选择多个人发送消息,当我提交表单时,它会在数组中为我提供被选择发送消息的人的姓名和id。正常运行在这里,我可以让它为一个单一的收件人工作

我希望能够使用这个数组并在mysql表的不同行中为每个用户插入消息

这是我提交表单时得到的数组

Array (
[to_user_id] => Array
    (
        [0] => 54
        [1] => 55
    )

[subject] => aaa
[message] => bbb
[send_message] => 
这是适用于单个收件人但不适用于多个收件人的代码部分

$to_user_id_array = ($_POST['to_user_id']);
$params = array(
            ':to_user_id' => $to_user_id_array,
            ':subject' => $_POST['subject'],
            ':message' => $_POST['message'],
            ':sender_id' => $this->user_id,
            ':status' => "0",
            ':type' => "message",
            ':sender_name' => $sender_name,
            ':to_user_name' => $to_user_name,
            ':delete_received' => 'no',
            ':delete_sent' => 'no',

        );


        $sql = "INSERT INTO `messages` (`sender_id`,`subject`,`comment`,`to_user_id`,`status`,`type`,`sender_name`,`to_user_name`,`delete_received`,`delete_sent`)
                                VALUES (:sender_id, :subject, :message, :to_user_id, :status, :type, :sender_name,:to_user_name,:delete_received,:delete_sent);";
        parent::query($sql, $params);
        $this->error = "<div class='alert alert-success'>" . _('Your message has been sent.') . "</div>";
$to_user_id_数组=($_POST['to_user_id']);
$params=数组(
':to_user\u id'=>$to_user\u id\u数组,
':subject'=>$\u POST['subject'],
“:message'=>$\u POST['message'],
':sender\u id'=>this->user\u id,
“:状态”=>“0”,
“:键入”=>“消息”,
“:发件人\u名称”=>$sender\u名称,
“:to_user_name”=>$to_user_name,
“:删除收到的”=>“否”,
“:删除已发送的”=>“否”,
);
$sql=“插入到消息中”(`sender\u id`、`subject`、`comment`、`to\u user\u id`、`status`、`type`、`sender\u name`、`to\u user\u name`、`delete\u received`、`delete\u sent`)
值(:发件人id、:主题、:消息、:收件人用户id、:状态、:类型、:发件人姓名、:收件人用户名、:删除已收到、:删除已发送);”;
父::查询($sql,$params);
$this->error=”“_(“您的邮件已发送”。)。"";

非常感谢您的帮助。

这对我来说很有用,我希望这能帮助其他类似职位的人

while ($value = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $params = array(
        ':to_user_id' => $value['user_id'],
        ':subject' => $_POST['subject'],
        ':message' => $_POST['message'],
        ':sender_id' => $this->user_id,
        ':status' => "0",
        ':type' => "message",
        ':sender_name' => $sender_name,
        ':to_user_name' => $value['name'],
        ':delete_received' => 'no',
        ':delete_sent' => 'no',
    );
    $sql = "INSERT INTO `messages` (`sender_id`,`subject`,`comment`,`to_user_id`,`status`,`type`,`sender_name`,`to_user_name`,`delete_received`,`delete_sent`)
               VALUES (:sender_id, :subject, :message, :to_user_id, :status, :type, :sender_name,:to_user_name,:delete_received,:delete_sent);";

    parent::query($sql, $params);
}

for
foreach
循环
到用户id