gpt4 book ai didi

php - Mysqli 查询不起作用两次

转载 作者:搜寻专家 更新时间:2023-10-30 20:10:39 24 4
gpt4 key购买 nike

我无法让我的 Mysqli 查询同时工作。如果我在 html 中注释掉一个函数,则另一个函数会正确执行,反之亦然。

function all_posts() {
require_once 'database.inc.php';
$mysqli = mysqli_connect($host, $username, $password, $database);
$query = mysqli_query($mysqli, "SELECT variable_name, post_name, post_date, post_display FROM blog_posts ORDER BY id DESC LIMIT 5");

if (!$query)
echo mysqli_error();

while ($results = mysqli_fetch_assoc($query)) {

$post_name = $results['post_name'];
$post_date = $results['post_date'];
$post_display = $results['post_display'];
$variable_name = $results['variable_name'];

echo "<a href='posts.php?post={$variable_name}'>";
echo "<div class='entry'>";
echo "<div class='entry_header'>";
echo "<h2>{$post_name}</h2>";
echo "<h3>{$post_date}</h3>";
echo "</div>";
echo "<p>{$post_display}</p>";
echo "</div>";
echo "</a>";
}

mysqli_free_result();
}

function all_sidebar_posts() {

require_once 'database.inc.php';
$mysqli = mysqli_connect($host, $username, $password, $database);
$query = mysqli_query($mysqli, "SELECT variable_name, post_name FROM blog_posts ORDER BY id DESC LIMIT 5");

while ($results = mysqli_fetch_assoc($query)) {

$post_name = $results['post_name'];
$variable_name = $results['variable_name'];
echo "<li><a href='posts.php?post=$variable_name'>$post_name</a></li>";
}

mysqli_free_result();
}

这是我要输出到的 html。

<ul>
<?php all_sidebar_posts(); ?>
</ul>
</div>
<div class="content_container">
<?php all_posts(); ?>
</div>

我尝试过使用 mysqli_data_seek(); 但没有成功。也许我没有正确使用它?我浏览了很多问题并找到了类似的问题,但我都试过了无济于事。我是编程新手,所以我可能会忽略一些基本的东西。谢谢大家的帮助!

最佳答案

你做错了。
切勿将您的数据操作代码与表示代码混合。

首先,将帖子放入数组中:

require_once 'database.inc.php';
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect($host, $username, $password, $database);

$sql = "SELECT variable_name, post_name, post_date, post_display
FROM blog_posts ORDER BY id DESC LIMIT 5"
$result = mysqli_query($mysqli, $sql);
$data = array();
while ($row = mysqli_fetch_assoc($result)) {
$data[] = $row;
}

然后使用此 $data 数组在您需要的任何时候显示帖子,只需使用 foreach()

关于php - Mysqli 查询不起作用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14657385/

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