我第一次使用PDO一般我正在一个简单的网站上工作,我完成了我的工作,但在最后的测试中,我发现我的功能只返回一个resut,在数据库中有更多结果的事实。我的代码如下所示:
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;
}
我不知道它是PDO的东西,还是我的SQL,但在我看来它应该会给出更多的结果(最多35 ofc)
任何想法的人都错了吗?
感谢所有读过它的人的帮助:)
答案 0 :(得分:0)
您在功能和echo
数据中同时执行returning
。我想知道这将如何发挥作用。我建议你改变块
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 = array();
while ($row = $stmt->fetch(PDO::FETCH_NAMED, PDO::FETCH_ORI_NEXT)){
$data[] = $row;
}
然后您返回$data
,然后从fetchByVinAxnmrs()
访问该内容。