Php PDO select仅显示一个结果,即使在DB中有更多结果

Php PDO select仅显示一个结果,即使在DB中有更多结果,php,mysql,pdo,Php,Mysql,Pdo,一般来说,这是我第一次使用PDO,我在一个简单的网站上工作,我完成了我的工作,但在最后的测试中,我发现我的函数只返回一个结果,事实上数据库中有更多的结果。我的代码如下所示: public function fetchByVinAxnmrs() { $success = false; try{ $con = new PDO( DB_HOST, DB_USER, DB_PASS ); $con->setAttribute( PDO::ATTR_

一般来说,这是我第一次使用PDO,我在一个简单的网站上工作,我完成了我的工作,但在最后的测试中,我发现我的函数只返回一个结果,事实上数据库中有更多的结果。我的代码如下所示:

public function fetchByVinAxnmrs() {
    $success = false;
    try{
        $con = new PDO( DB_HOST, DB_USER, DB_PASS ); 
        $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
        $sql = "SELECT * FROM axnmrs_cases WHERE vin = :vin LIMIT 35";
        $stmt = $con->prepare( $sql );
        $stmt->bindValue( "vin", $this->vin, PDO::PARAM_STR );
        $stmt->execute();
        while ($row = $stmt->fetch()){
            echo "<tr>";
            echo "<td>".$row['date_created']."</td>";
            echo "<td>".$row['axrmrs_id']."</td>";
            echo "<td>".$row['case_id']."</td>";
            echo "<td>".$row['country']."</td>";
            echo '<td><a class="iframe" href="detail.php?id=' . $row['id'] . '&caseid='.$row['case_id'].'" class>details</a></td>';
            echo "</tr>";
        }
    }catch(PDOExeption $e){
        echo $e->getMessage();
        echo $con->errorInfo();
    }

    return $success; 
}    
公共函数fetchByVinAxnmrs(){
$success=false;
试一试{
$con=新PDO(DB_主机、DB_用户、DB_通行证);
$con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
$sql=“从vin=:vin限制35的axnmrs\U案例中选择*”;
$stmt=$con->prepare($sql);
$stmt->bindValue(“vin”,$this->vin,PDO::PARAM_STR);
$stmt->execute();
而($row=$stmt->fetch()){
回声“;
回显“$row['date_created']”;
回显“$row['axrmrs_id']”;
回显“$row['case_id']”;
回显“$行[“国家]”;
回声';
回声“;
}
}渔获物(豁免$e){
echo$e->getMessage();
echo$con->errorInfo();
}
返回$success;
}    
我不知道这是否与PDO或我的SQL有关,但在我看来,它应该会返回更多结果(最多35个ofc)

你们知道怎么了吗


感谢阅读本手册的所有人的帮助:)

您正在函数中执行
echo
,并返回
数据。我不知道结果会怎样。我建议你换个街区

while ($row = $stmt->fetch()){
            echo "<tr>";
            echo "<td>".$row['date_created']."</td>";
            echo "<td>".$row['axrmrs_id']."</td>";
            echo "<td>".$row['case_id']."</td>";
            echo "<td>".$row['country']."</td>";
            echo '<td><a class="iframe" href="detail.php?id=' . $row['id'] . '&caseid='.$row['case_id'].'" class>details</a></td>';
            echo "</tr>";
        }

然后返回
$data
,然后从
fetchByVinAxnmrs()

访问该数据。我看PDO没有任何问题。我看到的唯一问题是在
元素中有两个
class
属性。
echo$stmt->rowCount()
的输出是什么?您是否绝对确定有多行匹配
$this->vin
$data = array();
while ($row = $stmt->fetch(PDO::FETCH_NAMED, PDO::FETCH_ORI_NEXT)){
   $data[] = $row;
}