【发布时间】:2011-07-05 04:36:52
【问题描述】:
我是 PDO 的新手,我有一个非常简单的问题。我有一个连接数据库的简单函数:
function connectDB()
{
try {
$dbh = new PDO('mysql:host='.Config::$db_server.';dbname='.Config::$db_name, Config::$db_login, Config::$db_password, array(
PDO::ATTR_PERSISTENT => true
));
$dbh->exec("SET CHARACTER SET utf8");
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
}
调用此函数后,我成功连接到 db。后来,当尝试使用 $dbh->query 发送查询时,我得到“调用非对象上的成员函数 query() ”。我明白这一点 - 我目前没有该类的实例。但是实现这一目标的唯一想法是再次使用 $dbh = new PDO("settings") ,这有点愚蠢不是吗?功能比没有意义。我试图在 connectDB 函数中返回 $dbh(在 NULL 语句之前),但它并没有真正起作用。
这应该如何正确完成?
【问题讨论】: