成功的MySQL DELETE会返回什么?如何检查删除是否成功?
使用PHP,我正在尝试删除记录,但我想检查它是否成功。从成功返回的任何内容吗?DELETE FROM foo where bar = 'stuff'
或者,您是否知道任何其他方法来检查DELETE是否成功?还是最好在删除行之前确保该行存在?如果可能的话,我正在尝试避免另一个查询。
使用PHP,我正在尝试删除记录,但我想检查它是否成功。从成功返回的任何内容吗?DELETE FROM foo where bar = 'stuff'
或者,您是否知道任何其他方法来检查DELETE是否成功?还是最好在删除行之前确保该行存在?如果可能的话,我正在尝试避免另一个查询。
假设您使用的是mysql_query:
对于其他类型的 SQL 语句,INSERT、UPDATE、DELETE、DROP 等,mysql_query() 在成功时返回 TRUE,在出错时返回 FALSE。
如果您使用的是 PDO::exec,则手册中会这样说:
PDO::exec() 返回由您发出的 SQL 语句修改或删除的行数。如果没有行受到影响,PDO::exec() 将返回 0。
不想回答snipe,但是由于这是被选为答案的,我应该注意,即使查询实际上没有删除任何内容,mysql_query也会返回。您应该使用mysql_affected_rows
来检查这一点。TRUE