gpt4 book ai didi

php - fetch() 在 while 循环内不起作用

转载 作者:行者123 更新时间:2023-11-29 10:44:51 24 4
gpt4 key购买 nike

我正在做我的拼贴项目,刚刚出现了一个问题。我想创建一个 while 循环来从数据库中获取所有记录。

我用于 SQL 语句的代码:

$sql2 = "SELECT * FROM phones WHERE users_id = '$user_id'";
$stm2 = $db->prepare($sql2);
$stm2->execute();

我用于 while 循环的代码:

<?php while ($record = $stm2->fetch()) :?>
<div class="col-md-2">
Some text
</div>
<?php endwhile; ?>

该循环没有输出。当我运行该项目时没有任何显示。

如果我尝试先获取所有记录,然后将它们转储出来,那就可以了。我的意思是我可以看到数据库中有记录,但我无法在循环内使用这些记录。

我也尝试过这段代码,但没有再出现任何结果。

<?php while($record = $stm2->fetch()){
echo '<div class="col-md-2">';
echo 'Some text';
echo '</div>';
}

最佳答案

为了让它按照你想要的方式工作,你应该这样做:

首先,选择您想要的确切列。

第二,使用 ?作为安全性的占位符。

第三,准备参数,然后将其绑定(bind)到查询中。 i 代表整数,s 代表字符串。

执行,然后在获取上运行一段时间。

<?php
$sql2 = "SELECT col1,col2,col3 FROM phones WHERE users_id = ?";
$stm2 = $db->prepare($sql2);
$stmt2->bind_param("i",$user_id);
$stm2->execute();
$stmt->bind_result($col1,$col2,$col3);


while($stmt2->fetch()){
echo "<div class='col-md-2'>";
echo $col1; // echo each iteration out, works just like $result->fetch_assoc()
echo $col2; // equivalent of $row['col2']; but in prepared statement style because you're binding the rows
echo $col1." plus ".$col2;

echo "</div>";
}
$stm2->close(); // close stmt
$db->close(); // close connection
?>

关于php - fetch() 在 while 循环内不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44783500/

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