出于某种原因,它执行语句,然后bind_results返回所有值,但不是$ postContent的最后一个值。bind_result()没有得到所有结果
<?php
if (isset($_GET['postID']))
{
$postID = $_GET['postID'];
$stmt = $mysqli->prepare("SELECT * FROM Posts WHERE postID = ?");
$stmt->bind_param('i', $postID);
$stmt->execute();
$stmt->bind_result($postID, $postTitle, $postCat, $postUser, $postDateTime, $postContent);
$stmt->fetch();
echo $postContent;
?>
<h1><?php echo $postTitle;?></h1>
</div> <!-- End of box div -->
<div class="blogroll"> <!-- Start of blogroll div -->
<div class="top"></div> <!-- Start and end of top div -->
<div class="post"> <!-- Start of post div -->
<div class="post_date">Posted by <?php echo $postUser;?> on <?php echo $postDateTime ?> Category : <?php echo $postCat;?></div> <!-- Start and end of post_date div -->
<div class="post_text"> <!-- Start of post_text div -->
<?php echo $postContent;?>
</div> <!-- End of post_text div -->
<?php
}
?>
数据库确实为postContent提供了列,并且它与bind_results显示的顺序相同。我已经尝试了你的建议,并且它没有在HTML页面的源代码中显示postContent。此外,htmlspcialchars()也没有工作,但因为我打算有HTML标签,例如我将继续使用它。你是一个很好的帮助 – 2012-01-08 20:18:07
还有什么想法? – 2012-01-09 22:36:00
@ user1136076我可以建议的另一件事是'var_dump($ postContent)'和其他变量的_all_以确定它们每个都包含预期的内容 – 2012-01-10 14:40:43