Bir veritabanı sınıfını genişletme

0 Cevap php

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);

0 Cevap