一尘不染

成功的MySQL DELETE返回什么?如何检查DELETE是否成功?

mysql

使用PHP,我试图删除一条记录,但是我想检查它是否成功。成功有回报DELETE FROM foo where bar = 'stuff'吗?

另外,您是否知道其他方法来检查DELETE是否成功?还是我最好在删除行之前先确保该行存在?如果可能,我正尝试避免再次查询。


阅读 1144

收藏
2020-05-17

共1个答案

一尘不染

假设您正在使用mysql_query

对于其他类型的SQL语句INSERT,UPDATE, DELETE
,DROP等,mysql_query()成功返回TRUE,错误返回FALSE。

如果您使用的是PDO :: exec,则手册中将说明以下内容:

PDO :: exec()返回由您发出的SQL语句修改或删除的行数。如果没有受影响的行,PDO :: exec()返回0。

不想回答阻击,但是由于选择了它作为答案,因此我应该注意,TRUE即使查询实际上并未删除任何内容,mysql_query也会返回。您应该mysql_affected_rows检查一下。

2020-05-17