即时通讯使用codeigniter 2.0.2,这来自其用户指南
$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);
$this->db->where('id', $id);
$this->db->update('mytable', $data);
我的问题是,一旦执行了,你如何找到它的正确执行?
答案 0 :(得分:4)
update
函数返回一个值:
$result = $this->db->update('mytable', $data);
检查该值是TRUE
(成功)还是FALSE
(失败)。 update
在内部运行query
,然后返回query
(Ref)的返回值:
query()函数在运行“read”类型查询时返回数据库结果对象,您可以使用它来显示结果。当运行“写入”类型查询时,它会根据成功或失败返回TRUE或FALSE。
答案 1 :(得分:2)
使用
$this->db->affected_rows()
查看写入类型查询(更新,插入等等)
的行数答案 2 :(得分:0)
这两个答案都有效。您只需根据具体情况使用每一个。如果您只是检查查询是否已执行,请使用以下方法:
$result = $this->db->update('mytable', $data);
如果你真的想要第二种方法受影响的行数更好:
$this->db->affected_rows()
但是我总是使用第二种方法。更新查询是一个很好的例子。查询可以成功,但数据库上仍然没有更新,因为您尝试更新的值实际上等于您在查询中发送的值。
这将是误报。受影响的行将为0。 我希望它有所帮助=)