[英]php pdo fetch not working with functions
谁能告诉我在这个小的PHP代码段中我要去哪里了
config.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);
请查看有关可变范围的更多信息
另外,输出数据时不需要mysql_real_escape_string()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.