php查询结果条数问题


$query="select * from d_sale_c_lrdj  where vindent='7021221004104542875318' ";
        $stmt = $PDO-> prepare ( $query );
        $stmt->execute();
        $num = $stmt->rowCount();

            if($num >0){
            echo '大于';
            }
            else{
            echo '小于等于';
        }

这个我实际查询数的数据是2条,但是输出的为什么是小于。这个是哪里错了

PDOStatement::rowCount()不能返回受一条 SELECT 语句影响的行数,替代的方法是,使用PDO::query()来发出一条和原打算中的SELECT语句有相同条件表达式的SELECT COUNT(*)语句,然后用 PDOStatement::fetchColumn(),改成下面这样

        $query="select count(*) from d_sale_c_lrdj  where vindent='7021221004104542875318' ";
       // $stmt = $PDO-> prepare ( $query );
      //  $stmt->execute();
        $res=$PDO->query($query);
        $num =$res->fetchColumn();// $stmt->rowCount();

            if($num >0){
            echo '大于';
            }
            else{
            echo '小于等于';
        }

检查一下$stmt->execute();的返回值,如果false,看一下$stmt->error;是什麽错误

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632