【发布时间】:2010-11-15 05:17:19
【问题描述】:
是否可以在单独的类中保留所有与数据库相关的配置(主机名、用户名、密码和数据库)以及连接和选择正确数据库的功能?
我尝试过这样的事情:
class Database
{
var $config = array(
'username' => 'someuser',
'password' => 'somepassword',
'hostname' => 'some_remote_host',
'database' => 'a_database'
);
function __construct() {
$this->connect();
}
function connect() {
$db = $this->config;
$conn = mysql_connect($db['hostname'], $db['username'], $db['password']);
if(!$conn) {
die("Cannot connect to database server");
}
if(!mysql_select_db($db['database'])) {
die("Cannot select database");
}
}
}
然后在另一个类中,我将在类中使用 __construct 函数:
require_once('database.php');
var $db_conn = new Database();
但这并没有保存连接,它最终默认为服务器本地数据库连接。还是每次执行一些数据库命令之前都要先执行数据库命令?
【问题讨论】:
-
如果您遇到 mysql.sock 问题,您可能需要查看此问题的答案:stackoverflow.com/questions/1005485/…
标签: php mysql database oop mysql-connect