gpt4 book ai didi

php - 如果包含则查询为空

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

我一直在我的页面内执行查询——比如 page.php——我在其中运行一个简单的查询。

伪代码:

$request_unavailble = mysqli_query($mysqli, "SELECT * FROM my_table WHERE availble='0'");

当这是从 page.php 中执行时,我得到所有结果,其中 availble 设置为 0。但是,如果我从一个单独的包含文件中运行它,数据返回空。事实上,mysqli_num_rows 在包含时返回 0。

这里出了什么问题?


编辑

以下函数作为包含添加(作为函数和单独)

function compte_messagerie()
{
$requetes_messagerie = mysqli_query($mysqli, "SELECT * FROM ".DB_PREFIX."messagerie WHERE lu='0'");
if(mysqli_num_rows($requetes_messagerie) == 0)
{
echo '<a id="messagerie" href="messagerie">'.AUCUN_NOUVEAU."</a>";
}
else if(mysqli_num_rows($requetes_messagerie) == 1)
{
echo '<a id="messagerie" href="messagerie">';
echo '<span>'.mysqli_num_rows($requetes_messagerie)."</span> ";
echo MESSAGES_SINGULIER."</a>";
}
else
{
echo '<a id="messagerie" href="messagerie">';
echo '<span>'.mysqli_num_rows($requetes_messagerie)."</span> ";
echo MESSAGES_PLURIEL."</a>";
}
}

最佳答案

将查询移植到函数中时,$mysqli 中的 MySQLi 连接对象超出范围,因此在函数内部无效。启用 display_errors 后,我希望您会看到如下错误:

Notice: undefined variable $mysqli

Warning: mysqli_query() expects parameter 1 to be resource, null given

最干净的解决方案是将 $mysqli 作为参数传递给您的函数,使其在函数范围内可用

// Expect the MySQLi resource as a parameter...
function compte_messagerie($mysqli)
{
$requetes_messagerie = mysqli_query($mysqli, "SELECT * FROM ".DB_PREFIX."messagerie WHERE lu='0'");
if(mysqli_num_rows($requetes_messagerie) == 0)
{
echo '<a id="messagerie" href="messagerie">'.AUCUN_NOUVEAU."</a>";
}
// etc.....
}

关于php - 如果包含则查询为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21272796/

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