Ben bir veritabanı var:
class dbConnect
{
var $strHost = "";
var $strDatabase = "";
var $strUser = "";
var $strPassword = "";
var $intLinkID = 0;
var $intQueryID = 0;
var $arrRecord = array();
var $intRow;
var $intErrno = 0;
var $strError = "";
function dbConnect()
{
$this->Connect();
}
function dbHalt($strError)
{
$objError = new errorHandle();
$objError->reportError("Database error: $strError", false);
$this->intErrno = mysql_errno($this->intLinkID);
$this->strError = mysql_error($this->intLinkID);
$strError = sprintf("MySQL Error: %s (%s)", $this->intErrno, $this->strError);
$objError->reportError($strError, true);
}
function Connect()
{
if (0 == $this->intLinkID)
{
$this->intLinkID=mysql_connect($this->strHost, $this->strUser, $this->strPassword);
if (!mysql_select_db($this->strDatabase, $this->intLinkID))
{
$this->dbHalt("cannot use database ". $this->strDatabase);
}
}
if (!$this->intLinkID)
{
$this->dbHalt("Database connection failed");
}
}
class dbMain extends dbConnect
{
// Database connection settings.
// Dev server.
var $strHost = 'db_host_here';
var $strUser = 'db_User_here';
var $strPassword = 'db_password_here';
var $strDatabase = 'db_name_here';
}
$ ObjDB = new dbMain () çağrılırken bu iyi çalışır;
Ama ne istiyorum dinamik (master CMS için) başka bir sınıfta örneğin veritabanı ayrıntılarını ayarlamak için:
$objDB = new dbMain($user, $pass, $dbname, $dbhost);