Php codeigniter活动记录更新不起作用
正在尝试更新会话表中所有会话ID的会话数据,但已挣扎了几个小时Php codeigniter活动记录更新不起作用,php,codeigniter,activerecord,Php,Codeigniter,Activerecord,正在尝试更新会话表中所有会话ID的会话数据,但已挣扎了几个小时 $_data = array('sess_data' => 'abc'); $this->db->where('sess_id', $_sid); $this->db->update($_table, $_data); 下面的代码给我一个值1,表示上面的代码不起作用 $this->db->affected_rows(); 但是,当我通过phpmyadmin查看数据库时,没有更新任何
$_data = array('sess_data' => 'abc');
$this->db->where('sess_id', $_sid);
$this->db->update($_table, $_data);
下面的代码给我一个值1,表示上面的代码不起作用
$this->db->affected_rows();
但是,当我通过phpmyadmin查看数据库时,没有更新任何内容。没有生成mysql错误消息。请告知如何进一步进行
编辑
UPDATE `sessions` SET `sess_data` = 'abc' WHERE `sess_id` = 'skavnhgk84712r06npem76snu2'
更新:
奇怪的是,今天我又添加了2条会话记录,它只更新了第2条和第3条记录,第1条记录没有改变。为什么会这样?我正在使用foreach循环,下面是生成的查询
UPDATE `sessions` SET `sess_data` = 'ABC' WHERE `sess_id` = 'skavnhgk84712r06npem76snu2' no success!
UPDATE `sessions` SET `sess_data` = 'ABC' WHERE `sess_id` = 'skavnhgk84712r06npem76snu3' success
UPDATE `sessions` SET `sess_data` = 'ABC' WHERE `sess_id` = 'skavnhgk84712r06npem76snu4' success
我认为这应该行得通
$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);
$this->db->where('id', $id);
$this->db->update('mytable', $data);
有关更多参考信息,请访问此网站:
您能回显$\u sid的值并将其与您的db进行比较吗?我将上面的代码更改为从sess\u id=$\u sid的表中选择*并给出正确的结果。所以我相信$\u sid值是可以的。使用,$this->db->last\u query来查看生成的查询。为什么不使用:$this->db->update$\u table,$\u data,array'sess\u id'=>$\u sid?我编辑了我的帖子以添加到上次生成的查询中。谢谢文森特,但这并不能解决我的问题。