query()在函数内部不起作用

时间:2013-07-11 06:15:51

标签: php mysql database pdo

我正在使用PHP和PDO语法编写脚本。 在我开始之前,我想为我做一些快捷方式。 $db->query() = qr()$string->fetch(PDO::FETCH_OBJ) = fet($string)

但是我的页面上会弹出一个问题,query()在函数

中无法正常工作
  

致命错误:在非对象上调用成员函数query())

这是我的代码

// $db->query() = qr()
function qr($str)
{
    return $db->query($str);
}
// $string->fetch(PDO::FETCH_OBJ) = fet($string)
function fet($dbq)
{
    return $dbq->fetch(PDO::FETCH_OBJ);
}

$qr = qr("select * from example");
$fet = fet($qr);

echo "".$fet->example."";

1 个答案:

答案 0 :(得分:3)

因为$db在功能中不可用。你必须通过函数参数传递它。

function qr($db, $str)
{
    return $db->query($str);
}

Don't use Global variable