参见英文答案 >
What does a successful MySQL DELETE return? How to check if DELETE was successful? 4个
我正在使用PDO语句将DELETE查询传递给mysql.我想知道,查询是否真的删除了一行?我尝试使用$stmt-> execute()的返回值
function delete(){
$stmt = $this->db->prepare("DELETE FROM users WHERE id= :id");
$stmt->bindValue(':id',$_POST[id]);
var_dump($stmt->execute());
}
但这总是如此,甚至没有删除行.即使我没有发布任何值,甚至一次又一次地发布相同的值,这也是真的.可能是因为查询成功删除0行,因此$stmt-> execute()的返回值没有帮助.
那么在PDO中是否有任何其他方式可以知道是否真的删除了任何行,更具体地说,我希望确保只删除了一行.
所以我想要这样的东西
function delete(){
$stmt = $this->db->prepare("DELETE FROM users WHERE id= :id");
$stmt->bindValue(':id',$_POST[id]);
$stmt->execute();
if($rowdeleted == 1){ echo "success";}
else{echo "failure";}
}
有任何想法吗?