mysql行在codeigniter中没有正确更新

时间:2017-06-13 11:54:58

标签: mysql codeigniter

我想用一些数据更新两列并更新数据我已经配置了所有必要的东西。但我没有使用codeigniter update命令将这些数据更新到我的表中。

我的ci代码是

$result_data = array(
         [profileid] => 4
         [questionid] => 7
         [clientid] => 15
         [page_id] => 4
    );


$updated_data = array(
            [optionid] => 31,32,33,
            [option_score] => 1,2,3,
            [answer_given] => 1
        );

        $this->db->where($result_data);
       $this->db->update('tbl_result_temp', $updated_data);

当我尝试通过代码更新数据时,更新操作无法正常执行。 我的表结构如下。 my table structure

table with data

任何人都可以告诉我有什么问题吗?

2 个答案:

答案 0 :(得分:0)

我在语法中发现了一些错误(数组结构中的错误),

  $result_data = array(
         'profileid' => 4,
         'questionid' => 7,
         'clientid' => 15,
         'page_id' => 4
    );

$updated_data = array(
            'optionid' => '31,32,33',
            'option_score' => '1,2,3',
            'answer_given' => 1
        );

       $this->db->where($result_data)
            ->update('tbl_result_temp', $updated_data);

答案 1 :(得分:0)

我认为你必须使用where_in:

    $result_data = array(
     [profileid] => 4
     [questionid] => 7
     [clientid] => 15
     [page_id] => 4
);


$updated_data = array(
        [optionid] => 31,32,33,
        [option_score] => 1,2,3,
        [answer_given] => 1
    );

$this->db->where_in($result_data);
$this->db->update('tbl_result_temp', $updated_data);