【发布时间】:2013-02-08 05:57:26
【问题描述】:
我的数据库类运行良好,我称它为$db = new Database('user', 'pass', 'db', 'host');。我在脚本的顶部定义了这个数据库,但是在脚本的后面我试图在函数内部使用连接,但似乎$db 不是全局的,所以我的函数无法访问它。我可以在脚本中的每个函数中创建一个新的数据库类连接,但我真的很想将$db 作为全局访问点来访问。
这里有一些代码:
require_once('database_class.php');
$db = new Database('user', 'pass', 'db', 'host');
// I can reach the $db here and make the $db->PDO->'statement'();
function userExists($user) {
$bool = false;
// But in here I can't access $db...
$query = $db->PDO->query('SELECT * FROM login WHERE username = "$user"');
$result = $query->fetch();
if ($result) {
// User exists
$bool = true;
}
return $bool;
}
【问题讨论】:
-
单例模式研究。它主要用于您的目的。
-
并不是真正的“答案”,但我主要做的是创建类方法(函数),这些方法(函数)只是打开连接、进行查询、关闭连接,然后处理并返回数据。可能是一些专家说最好让连接保持打开状态,但我从未注意到这样做会影响性能:)