& quot;注意:未定义的变量:db& quot;使用PDO时 [英] "Notice: Undefined variable: db" when using PDO
本文介绍了& quot;注意:未定义的变量:db& quot;使用PDO时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为了学习PDO,我编写了以下代码:
On my quest to learn PDO, I wrote this code:
$sql = 'SELECT * FROM category ORDER BY order_cat DESC';
foreach ($db->query($sql) as $row)
{
echo "<input type='radio' name='category' value='$row[id]'>$row[name]<br />";
}
然后我将其封装为如下所示的函数:
I then encapsulated it into a function like so:
function GetCategory()
{
$sql = 'SELECT * FROM category ORDER BY order_cat DESC';
foreach ($db->query($sql) as $row)
{
echo "<input type='radio' name='category' value='$row[id]'>$row[name]<br />";
}
}
我这样称呼它:
echo GetCategory();
但是,当我这样做时,会出现以下错误:
However, when I do that, I get these errors:
注意:未定义变量:
db
致命错误:在非对象上调用成员函数query()
Notice: Undefined variable:
db
Fatal error: Call to a member functionquery()
on a non-object
我不知道我在想什么;我在配置文件中声明$db
如下:
I don't know what I'm missing; I'm declaring $db
in my configuration file like so:
$db = new PDO("mysql:host=$localhost;dbname=$namedb;charset=utf8", $userdb, $passdb);
推荐答案
在函数内部使$ db全局化.
Make the $db global as you are inside a function.
function GetCategory()
{
global $db;
...
}
如果之前已经定义过...
If it has been defined before of course...
这篇关于& quot;注意:未定义的变量:db& quot;使用PDO时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文