我正在使用 PDOrowCount()
来了解UPDATE
是否成功。问题是rowCount(
) 在查询成功但没有要更新的行的情况下不返回任何内容。
这对我不利,因为在这种情况下,我运行 anINSERT
并且 mysql 返回重复键的错误。
在 PDO 中知道查询是否成功的最佳方法是什么,在这种特定情况下,意味着UPDATE
即使没有行受到影响,何时成功?
谢谢
这是“XY问题”的完美案例。但幸运的是,您设法解释了您的真正问题以及主要问题。你实际上不需要rowcount()
在这里。
你真正需要的是一个 mysql 特定的INSERT .. ON DUPLICATE KEY UPDATE
查询
哪个将根据记录是否存在插入或更新记录。
用于$stmt->execute() === true
测试查询是否成功。
用于$stmt->rowCount() > 0
查看是否有任何更新。
例如:
if( $stmt->execute() === true && $stmt->rowCount() > 0 )