我有一個數據庫類:擴展數據庫類
<?php
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();
但我要的是動態設置數據庫的詳細信息在其他類(主CMS)時,工作正常例如:
$objDB = new dbMain($user, $pass, $dbname, $dbhost);
爲清楚起見,您應該聲明access修飾符爲private而不是var。 var關鍵字不再需要。它將在PHP5中工作,但會在PHP5中引發5.3版本的E_STRICT警告,因爲它已被棄用。 – coolkid 2010-09-28 13:55:55