2014-11-05 12 views
0

我正在玩PHP中的類,並且找不到正確的方式。用於數據庫連接的類,如何使用

我有以下類:

class db_connection { 
    private $dbc; 


    public function __construct() 
    { 
     $this->dbc = new mysqli(HOST_ONE, USER_ONE, PASS_ONE, DB_ONE) or die ($this->dbc->error); 

    } 

    public function getDbc() 
    { 
     return $this->dbc; 
    } 

} 

,並嘗試這樣運行:

$db = new db_connection(); 
$db->getDbc(); 

// TESTQUERY 
$abfrage = "SELECT * FROM databases"; 
$result = $db->query($abfrage); 
while ($row = $result->fetch_assoc()) { 
    echo $row['id']; 
} 

HOST_ONE等設置,我沒有得到任何錯誤消息,雖然我有error_reporting(E_ALL);啓用

我嘗試了許多不同的方式,但他們沒有工作......

有人能推動我如何使用這個簡單的課程正確的方向?

回答

2

我認爲你應該使用它想:

$db_con = new db_connection(); 
$db = $db_con->getDbc(); 

功能getDbc()返回你所需要的對象。因此,您必須將其發送到$ db變量,才能得到它。執行該方法不會將其值賦給「self」($ db_con),但會返回一個值。

+0

解釋爲什麼它應該如此 – 2014-11-05 13:45:06

+0

@u_mulder編輯。希望很清楚。 ;) – 2014-11-05 13:50:53

1

你應該使用這樣的代碼:

$dbClass = new db_connection(); 
$db = $dbClass->getDbc(); 
$db->query("SELECT * FROM databases"); 

$dbClass = new db_connection();創建連接並返回db_connection類實例$dbClass。現在您已連接到數據庫,請使用$db = $dbClass->getDbc();來獲取連接對象本身,並使用它執行與數據庫相關的任何操作。