gpt4 book ai didi

PHP 数据库类和 new() 函数

转载 作者:行者123 更新时间:2023-12-01 00:15:39 25 4
gpt4 key购买 nike

我有,我认为/希望,是一个非常简单的 PHP 问题。我创建了一个类来创建数据库连接和发出常见查询。我试图通过从同一个数据库类创建两个对象来打开两个不同的数据库连接。我的代码如下:

//connect to DB
$dbh = new DB('localhost', 'db1', 'user', 'pass');

//check connection
if(!$dbh->getStatus()) {
echo($dbh->getErrorMsg());
die;
}//if

//connect to DB 2
$dbh2 = new DB('localhost', 'db2', 'user', 'pass');

//check connection
if(!$dbh2->getStatus()) {
echo($dbh2->getErrorMsg());
die;
}//if

但是,当我调用 $dbh 的方法来查询数据库时,它会尝试使用 $dbh2 的凭据进行查询。

我的数据库构造函数如下:

class DB {
function __construct($host, $db, $user, $pass) {
$dbh = mysql_connect($host, $user, $pass);
mysql_select_db($db, $dbh);

if(!$dbh) {
$this->status = false;
$this->error_msg = 'Error connecting to database: '.mysql_error();
return(false);
}//if


$this->dbh = $dbh;
$this->resetStatusAndErrors();
return($dbh);
}//_construct

最佳答案

简单的解决方案:使用 PDO反而。它完全符合您的要求,可能具有更好的语法和实现,并抽象出用于数据库访问的接口(interface)。

关于PHP 数据库类和 new() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4099780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com