php – PDO查询总是返回1或true
发布时间:2020-12-13 21:53:01 所属栏目:PHP教程 来源:网络整理
导读:我想在删除之前检查一行是否存在.我表中的行不存在但总是返回1: $orders = $this-db-prepare("SELECT * FROM orders WHERE id=? AND user=?"); $check = $orders-execute(array($message,$this-model-checkapi($data,$message))); echo $check; if($check){
我想在删除之前检查一行是否存在.我表中的行不存在但总是返回1:
$orders = $this->db->prepare("SELECT * FROM orders WHERE id=? AND user=?"); $check = $orders->execute(array($message,$this->model->checkapi($data,$message))); echo $check; if($check){ $deleteorder = $this->db->prepare("DELETE FROM orders WHERE id=? AND user=?"); $deleteorder->execute(array($message,$message))); array_push($result,array('success' => true,'deleted' => $message)); echo json_encode(array("result" => $result)); die(); }else{ $这 – >模型 – > checkapi($数据,$消息) 我检查了我的数据库,ID存在,但不是id和用户名. 我发送id:136和用户名:fakeuser 在数据库中,该行以id:136和username:demo存在. 我不确定为什么它因为不匹配而不应该选择行时返回1. 解决方法
你应该在execute()之后使用fetch(),因为execute()在成功时返回TRUE,在失败时返回FALSE:
$orders->execute(... $result = $orders->fetch(PDO::FETCH_ASSOC); print_r($result); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |