Php 如何知道是否使用mysqli dbdriver删除了行

Php 如何知道是否使用mysqli dbdriver删除了行,php,mysql,codeigniter,mysqli,delete-row,Php,Mysql,Codeigniter,Mysqli,Delete Row,我将codeigniter 2.1.0与mysqli dbdriver一起使用。 我有下面的查询,想知道它何时成功 $query = $this->db->query("delete FROM abc WHERE id IN (" . $IdList . ")"); 如何知道相关行是否已删除?来自: 运行“读取”类型查询时,query()。当运行“write”类型查询时,它只返回TRUE或FALSE,具体取决于成功或失败 因此,$query变量在成功时为TRUE,在失败时为FALS

我将codeigniter 2.1.0与mysqli dbdriver一起使用。 我有下面的查询,想知道它何时成功

$query = $this->db->query("delete FROM abc WHERE id IN (" . $IdList . ")");
如何知道相关行是否已删除?

来自:

运行“读取”类型查询时,
query()。当运行“write”类型查询时,它只返回
TRUE
FALSE
,具体取决于成功或失败

因此,
$query
变量在成功时为
TRUE
,在失败时为
FALSE

来自:

运行“读取”类型查询时,
query()。当运行“write”类型查询时,它只返回
TRUE
FALSE
,具体取决于成功或失败


因此,您的
$query
变量在成功时为
TRUE
,在失败时为
FALSE

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

并引用

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

注意:在MySQL中,“从表中删除”返回0个受影响的行。这个 数据库类有一个小漏洞,允许它返回正确的 受影响的行数。默认情况下,此攻击已启用,但可以 在数据库驱动程序文件中关闭


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

并引用

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

注意:在MySQL中,“从表中删除”返回0个受影响的行。这个 数据库类有一个小漏洞,允许它返回正确的 受影响的行数。默认情况下,此攻击已启用,但可以 在数据库驱动程序文件中关闭


要非常小心,
$IdList
已被转义;您可能想继续阅读。嗨,eggyal问题是,我如何知道该行是否已被实际删除,我曾在一个位置尝试过you选项,并且查询已运行,但我不知道存在什么问题,但该行未从MySQL中删除。请务必小心转义
$IdList
;您好,eggyal,问题是我如何知道行是否已被实际删除,我在一个位置尝试了you选项,并且查询已运行,但我不知道存在什么问题,但该行未从mysql中删除