我正在使用准备好的声明SELECT *
来自 MySQL 表,我不知道如何使用while($row = mysqli_fetch_array($stmt))
循环并从结果数组中选择项目。这是我的代码,我做错了什么?
$link = mysqli_connect($host, $username, $password, $db);
$query = "SELECT * from `wp_posts` WHERE ID=? ";
//$result = mysqli_query($link, $query);
$stmt = mysqli_prepare($link, $query);
if($stmt){
mysqli_stmt_bind_param($stmt, "i", $pid);
mysqli_stmt_bind_result($stmt, $dbpid);
mysqli_stmt_execute($stmt);
mysqli_stmt_fetch($stmt);
}
while($row = mysqli_fetch_array($stmt)){
?>
<h2 align="center"> <?php echo $row['post_title']; ?> </h2><br>
<div class="paracenter">
<p id="cont"><?php echo $row['post_content']; ?></p>
<hr color="black" width="10%">
</div>
<?php } ?>
要使用 mysqli 回答你的问题,你必须使用获取结果()
因此,正确的基于 mysqli 的解决方案将是
$query = "SELECT * from `wp_posts` WHERE ID=? ";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("i", $pid);
$stmt->execute();
$res = $stmt->get_result();
$data = $res->fetch_all(MYSQLI_ASSOC);
(这段代码的完整解释可以在我的文章中找到,带准备好的语句的 Mysqli SELECT 查询)
然后您可以在 foreach 循环中使用 $data 来获取输出,如另一个答案中所示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)