我有一个MySQL表。如果一行被删除,我的PHP脚本应该返回true
。但是,我得到的是true
,不管这行是否被删除。我把代码贴在下面;
$query = "delete from mytable where qwerty='asdf'";
$delete = mysql_query($query);
if($delete){
echo "true";
}else{
echo "false";
}
如果行被删除,我想回显true
,如果未被删除,则回显false
。我该怎么做呢?
直接从PHP手册,你应该使用use mysql_affected_rows
:
mysql_query('delete from mytable where qwerty='asdf'');
printf("Records deleted: %d'n", mysql_affected_rows());
这样,您就可以查看命令影响了多少条记录。相应调整。
对于其他类型的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您可以使用mysql_affected_rows
函数来查找是否实际删除了任何行。