我正在使用codeigniter 2.1.0和mysqli dbdriver。 我有以下查询,想知道什么时候成功
$query = $this->db->query("delete FROM abc WHERE id IN (" . $IdList . ")");
如何知道相关行是否已删除?
答案 0 :(得分:2)
$this->db->affected_rows()
正是您要找的。您应该能够将该结果与预期的已删除行数进行比较。
同时引用USER GUIDE
执行“写入”类型查询(插入,更新等)时显示受影响的行数。
注意:在MySQL中,“DELETE FROM TABLE”返回0个受影响的行。该 数据库类有一个小的hack,允许它返回正确的 受影响的行数。默认情况下,此hack已启用但可以 在数据库驱动程序文件中关闭。
答案 1 :(得分:1)
query()
函数返回数据库结果对象,当"读取"运行类型查询,您可以使用show your results。当"写"运行类型查询只需返回TRUE
或FALSE
,具体取决于成功或失败。
因此,$query
变量成功时为TRUE
,失败时为FALSE
。