2017-05-22 31 views
0

我目前正在使用pgsql在PHP中編寫一個dbconnection類。我已經編寫了連接和查詢函數,但我想知道如何才能獲取結果。dbconnection類PGSQL重寫函數

目前,我們需要使用此功能查詢之後獲取結果:

$db = new dbconnection(); 
$stmt= $db -> query("SELECT * FROM users"); 
pg_fetch_all($stmt); 

爲了有一個更乾淨的代碼,我想要做的後續獲取結果:

$db = new dbconnection(); 
$stmt= $db -> query("SELECT * FROM users"); 
$result = $stmt -> fetchAll(); 

任何幫助如何做到這一點?

在此先感謝

+0

爲什麼不使用PDO? – schellingerht

+1

噢,對,非常感謝:D – Nathan30

+0

我發佈了一個簡化的解決方案,爲您的問題。看一看 ;-) – schellingerht

回答

2

dbconnectionquery方法應該像這樣(PHP7,簡體)返回Statement一個實例:

final class Statement 
{ 
    private $result; 

    public function __construct(array $result = []) 
    { 
     $this->result = $result; 
    } 

    public function fetch() 
    { 
     return $this->result[0]; 
    } 

    public function fetchAll() 
    { 
     return $this->result; 
    } 
} 

所以你把這個像這樣(簡化):

final class DBConnection 
{ 
    // constructor etc. 

    public function query(string $query) 
    { 
     // $result = result of the passed executed string $query 

     return new Statement($result); 
    } 

}