PHP,MySQL – 你能区分匹配的行和受影响的行吗?
我正在尝试编写一个有点智能的PHP-MysqL数据库处理器.当此处理器决定需要进行更新时,我想报告它是否真的成功.我以为我可以使用MysqL_affected_rows …
例如,如果没有ID = 1的行,那么$result将为0. 但是,事实证明PHP的MysqL_affected_rows是实际受影响的行,如果行存在但名称已经是“Test”,则可能仍为0. (PHP docs甚至说是这样的). 如果我在命令行中运行它,我会获得有关查询的以下元信息:
有没有办法让我在PHP中获得“Rows matching”值而不是受影响的行? [编辑]:我应该注意,我知道我可以运行一个单独的查询,但为了性能,我不想这样做. 解决方法: 从MySQL documentation for MysqL_affected_rows:
使用MysqLi,您可以使用mysqli::real_connect指定CLIENT_FOUND_ROWS.
在PDO中,常量名为PDO :: MysqL_ATTR_FOUND_ROWS
使用旧的和不推荐使用的MysqL扩展,您可以指定CLIENT_FOUND_ROWS,将值2作为MysqL_connect(source)的第5个参数传递. (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |