80sand 2022-10-06 14:31 采纳率: 87.9%
浏览 32
已结题

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条,但是输出的为什么是小于。这个是哪里错了

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2022-10-06 15:50
    关注

    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 '小于等于';
            }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 创建了问题 10月6日