我在 CodeIgniter 2.1 中收到以下错误消息:
A PHP Error was encountered
Severity: Notice
Message: Array to string conversion
Filename: database/DB_active_rec.php
Line Number: 1407
我正在尝试更新数据库中的字段。我有这个代码,每个教程对于批量上传都是一样的。无论如何它都能工作,但问题是它显示这样的错误。
这就是我的模型中的内容:
function update2($data){
$this->db->update_batch('users',$data, "id");
}
这就是我控制器中的内容:
public function updateValues(){
$this->load->model('get_db');
$newRow = array(
array(
'id' => '3',
'firstname' => 'Rapphie'
),
array(
'id' => '2',
'firstname' => 'Charmie'
)
);
$this->get_db->update2($newRow);
echo "it has been updated";
}
刚刚在这里偶然发现了完全相同的问题。幸运的是,我使用的是相同的 CI 版本。 :)
确实,M_A_K 的答案有助于删除“通知”,但我认为这不是解决问题的正确方法。所以我决定看一下线路1407 in DB_active_rec.php我相信这只是 CI 2.1.2 中的一个小错误。
这是我的解决方法。我只是改变了原来的代码:
$not[] = $k.'-'.$v;
进入这个:
$not[] = $k2.'-'.$v2;
瞧! “通知”不再出现。 :)
我们可以清楚地看到第 1407 行并不打算使用 $k 和 $v,因为第 1407 行位于 foreach 循环内,将 $v 作为 $k2 和 $v2 进行迭代。
我希望我能说清楚。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)