加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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($数据,$消息)
返回fakeusername和id / $message返回136

我检查了我的数据库,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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读