如何在数据库中更新数组?

时间:2018-03-13 02:01:16

标签: php arrays codeigniter

我试图在Codeigniter中更新数组,但我无法弄清楚语法。

错误: 遇到PHP错误 严重性:注意

消息:数组到字符串转换

文件名:database / DB_driver.php

行号:1525

    public function allowregis()
    {
    $data = $this->input->post();

    for($i= 0;$i < count($data["regis_id"]);$i++)
    {
        $allow[] = array('regis_id' => $data['regis_id'][$i],
                    'regis_status' => $data['regis_status'][$i],
                    'regis_approveresult' => $data['regis_approveresult'][$i],
        );
    }

        $this->db->update('register',$allow,'regis_id');
        redirect('/register/cheackactivityallow/');
    }

3 个答案:

答案 0 :(得分:0)

正如错误所说,您正在尝试使用期望将字符串传递给它的数组值($allow)更新字段。

答案 1 :(得分:0)

在for循环中添加更新查询。

public function allowregis()
{
$data = $this->input->post();

$allow = array();
for($i= 0;$i < count($data["regis_id"]);$i++)
{
    $allow[$i] = array('regis_id' => $data['regis_id'][$i],
                'regis_status' => $data['regis_status'][$i],
                'regis_approveresult' => $data['regis_approveresult'][$i],
    );
    $this->db->update('register',$allow[$i]);
}
    redirect('/register/cheackactivityallow/');
}

答案 2 :(得分:0)

您可以使用codeigniter的update_batch函数获得所需的结果,因为您将通过错误将多维数组发送到更新函数。

check here for batch update