gpt4 book ai didi

php - 尝试在 php 函数内部使用 mysql 查询从数据库调用数据。

转载 作者:行者123 更新时间:2023-11-29 12:21:45 26 4
gpt4 key购买 nike

我创建了一个名为 tree() 的函数,它应该从我的 comments 表中检索数据并在层次结构中的线程中显示评论,就像Reddit 上的评论。 $parentid 是父评论的 ID,$postid 是评论所在页面的 ID。 DisplayComments() 是一个 PHP 函数,用于显示评论的数据和表单,包括 html。

现在的问题是,当我加载页面时,php 代码在函数内部完成时停止在 $statement = $databaseConnection->prepare($query); 处。但是,如果我将代码放在函数之外,则代码可以工作,但我无法使用 DisplayComments() 内部的代码,只能显示评论回复,就好像它们是新的开始一样线程。

为什么我不能在函数内使用这个 mysql 查询?无论如何,我可以在函数内部使用它,以便我可以在需要的地方调用它吗?

function tree($parentid, $postid) {
$query = "SELECT * FROM comments WHERE parentid = ?";
$statement = $databaseConnection->prepare($query);
$statement->bind_param('i', $parentid);
$statement->execute();
$statement->store_result();
if ($statement->error)
{
die('Database query failed: ' . $statement->error);
}

if ($statement->num_rows >= 1)
{
$statement->bind_result($commentid, $postid, $username, $comment, $parentid, $level);
while($statement->fetch()){
if (!is_hidden($commentid, 1)){
DisplayComments($comment, $username, $postid, $commentid, $level);
}
}
}
}

最佳答案

您的树函数不了解$databaseConnection。您需要将其作为另一个变量传递,例如

function tree($parentid, $postid, $databaseConnection) {

阅读PHP manual's page on variable scope (但尽量不要使用global,这很少是一件好事)

关于php - 尝试在 php 函数内部使用 mysql 查询从数据库调用数据。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28916088/

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