我有一个MySQL表。如果行被删除,我的PHP脚本将返回true
。但是,无论该行是否被删除,我都会获得true
。我发布下面的代码;
$query = "delete from mytable where qwerty='asdf'";
$delete = mysql_query($query);
if($delete){
echo "true";
}else{
echo "false";
}
如果行被删除,我希望回显true
,如果没有删除,我想回复false
。我怎么能这样做?
答案 0 :(得分:3)
直接来自PHP Manual,您应该使用mysql_affected_rows
:
mysql_query('delete from mytable where qwerty='asdf'');
printf("Records deleted: %d\n", mysql_affected_rows());
这样,您可以查看命令影响的记录数。相应调整。
答案 1 :(得分:2)
对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP等,mysql_query()成功时返回TRUE,错误时返回FALSE。使用mysql_affected_rows()查找DELETE,INSERT,REPLACE或UPDATE语句影响的行数。
http://php.net/manual/en/function.mysql-query.php
http://www.php.net/manual/en/function.mysql-affected-rows.php
答案 2 :(得分:1)
您可以使用mysql_affected_rows
函数查明是否实际删除了任何行。
http://www.php.net/manual/en/function.mysql-affected-rows.php