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