query($sql); 我的 html 文件-6ren">
gpt4 book ai didi

php pdo fetch 不适用于函数

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

谁能告诉我这个小 php 代码片段哪里出了问题

配置.php

$sql = "SELECT * FROM sidemenu;";
$q = $conn->query($sql);

我的 html 文件中的 php

$q->setFetchMode(PDO::FETCH_NUM);
while($r = $q->fetch()){
echo "
<li>
<a class='gn-icon ".mysql_real_escape_string($r[0])."'>".mysql_real_escape_string($r[1])."
</a>
</li>";
}

现在这个代码片段可以工作,并按预期从数据库中为我生成列表项。但现在当我尝试这样的事情

$q->setFetchMode(PDO::FETCH_NUM);
function mainMenu(){
while($r = $q->fetch()){
echo "
<li>
<a class='gn-icon ".mysql_real_escape_string($r[0])."'>".mysql_real_escape_string($r[1])."
</a>
</li>";
}
}
mainMenu();

现在由于某种原因这不起作用,现在我不太清楚 php,刚刚学习了一些数据库集成,所以如果有人能告诉我我复制错了什么......

最佳答案

这是因为mainMenu()函数的作用域,外部的变量在内部不可用,您需要将变量作为参数传递,例如:

mainMenu($q);

请查看更多有关Variable Scope的信息

此外,输出数据时不需要mysql_real_escape_string()

关于php pdo fetch 不适用于函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18552437/

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