gpt4 book ai didi

PHP PDO while 循环没有返回任何东西

转载 作者:行者123 更新时间:2023-11-29 02:43:43 25 4
gpt4 key购买 nike

我真的不知道我做错了什么。我正在查询以检查名为“newCards”的数据库表中是否有记录。

$count我检查它返回了多少结果:它显示“1”。但是 while 循环没有返回任何东西。我唯一看到的是 <th>位于表的顶部,但不存在表记录,而 $count结果给出 '1'。这是真的,因为数据库中实际上存在 1 条记录。

我该如何解决这个问题?

<?php
$query = $db->prepare("SELECT * FROM `newCards` WHERE `company` = :companyID");
$query->bindParam(":companyID", $enterprise['id'], PDO::PARAM_INT);
$query->execute();
$count = $query->rowCount();
echo $count;

if(empty($query->fetch())){
echo "Geen gevonden";
} else {
?>
<table>
<tr>
<th>Ontvanger</th>
<th>Saldo</th>
<th></th>
</tr>
<?php
while($result = $query->fetch()){
?>
<tr>
<td><?php echo $result['id']; ?></td>
<td>2</td>
<td>3</td>
</tr>
<?php
}
?>
</table>
<?php
}
?>

最佳答案

$query->fetch() 已经获取 一条记录。因此,下一次调用 fetch() 会获取next 记录,如果没有记录,则nothing。在您使用一条记录的情况下,第二个fetch() 不获取任何内容,因此while 永远不会开始。

您可以将代码更改为:

if($count){?>
<table>
<tr>
<th>Ontvanger</th>
<th>Saldo</th>
<th></th>
</tr>
<?php
while($result = $query->fetch()){
// show row
}?>
</table>
} else {
// echo that no rows found
}

关于PHP PDO while 循环没有返回任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46331675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com