PHP PDO execute总是返回false

本文介绍了一种使用PHP和PDO进行文章列表分页查询的方法。通过限制每页显示的文章数量,实现高效的数据检索。特别关注了参数绑定以防止SQL注入,并确保了分页逻辑的正确实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public function list($user_id,$page,$size){
        if($size > 100) {

            throw new Exception('Page limited 100', Error::PAGE_LIMIT_EXCEED);

        }

        $sql = "SELECT * FROM `article` WHERE `user_id`=:user_id LIMIT :offset OFFSET :limit";//LIMIT :limit , :offset

        $limit = ($page-1)*$size;
//        var_dump($limit);

        $limit = $limit < 0 ? 0 : $limit;

        $stmt = $this->_db->prepare($sql);

        var_dump($stmt->bindParam(':user_id', $user_id,PDO::PARAM_INT));//这里一定要设置参数类型,PDO::PARAM_INT,不然进入sql后悔变成带有引号的字符串,造成sql语句报错
        var_dump($user_id);
        var_dump($stmt->bindParam(':limit', $limit,PDO::PARAM_INT));
        var_dump($limit);
        var_dump($stmt->bindParam(':offset', $size,PDO::PARAM_INT));
        var_dump($size);
        var_dump($stmt->execute());

        var_dump($stmt->errorInfo());

        $data = $stmt->fetchAll(PDO::FETCH_ASSOC);

//        print_r($data);

        return $data;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值