0

我正在使用带有 mysqli dbdriver 的 codeigniter 2.1.0。我有以下查询,想知道它何时成功

$query = $this->db->query("delete FROM abc WHERE id IN (" . $IdList . ")");

我怎么知道相关行是否被删除?

4

2 回答 2

2

$this->db->affected_rows()就是你要找的。您应该能够将该结果与预期的已删除行数进行比较。

还引用了用户指南

在执行“写入”类型查询(插入、更新等)时显示受影响的行数。

注意:在 MySQL 中,“DELETE FROM TABLE”返回 0 个受影响的行。数据库类有一个小技巧,允许它返回正确数量的受影响行。默认情况下,此 hack 已启用,但可以在数据库驱动程序文件中关闭。

于 2012-04-24T13:43:14.030 回答
1

来自CodeIgniter 用户指南

该函数在运行“读取”类型查询时query()返回一个数据库结果对象,您可以使用它来显示您的结果。当运行“写”类型查询时,它只是返回TRUEFALSE取决于成功或失败。

因此,您的$query变量将是TRUE成功还是FALSE失败。

于 2012-04-24T11:22:56.687 回答