2013-01-05 57 views
-1

我想知道是否有一個基於PHP OOP的類或任何其他數據庫抽象類被構建到相當基本的一個或幾個文件PHP類框架中。的東西,可以讓來電查詢與語法類似的功能,而不是去真理標準PDO或mysql_ *類型的語法像php編寫的sql函數

class Session { 
    protected $db; 

    public function __construct(DB $db) { 
     $this->db = $db; 
    } 

    public function write() { 
     $this->db->query(...); 
    } 
} 


$db = new DB(...); 
$session = new Session($db); 
+0

MySQLi應該能夠做到這一點。你看過http://php.net/manual/en/mysqli.prepare.php嗎? – Patrickdev

+0

你在找什麼功能[PDO](http://us.php.net/PDO)還沒有? – DCoder

+0

@DCoder對不起,更新了這個問題,使其更有意義 –

回答

1

什麼你正在尋找被稱爲一個適配器,它可以處理所有相關的工具和數據庫您。 Github上有很多,搜索「mysql適配器」顯示了各種庫。

+0

我更新了問題,所以它像一個類提供的功能,實習生觸發SQL查詢的正確?像public function delete()會執行刪除任務。所以根據我的評論和更新的問題,我應該找「mysql適配器」正確嗎? –

+0

@Cl'是的,它應該正是你想要的。這基本上是一個庫,你可以包含在你的應用程序中,以處理所有數據庫的東西,而不是重新發明輪子:) – Oldskool

+0

謝謝,因爲我想知道這是什麼,我記得看到一些構建到一個基本的PHP框架,但我不記得那是什麼,我知道它是在GitHub上。有什麼特別的你會推薦? –

1

PDO:

$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username'); 
$stmt->execute(array(':username' => $_GET['username'])); 

的MySQLi:

$query = $mysqli->prepare('SELECT * FROM users WHERE username = s'); 
$query->bind_param('s', $_GET['username']); 

這些擴展內置像創建準備的查詢功能。

+0

謝謝你的時間,但是,這是不是。我指的是簡單的請求,像$ result = $ connection-> fetchAll('SELECT * FROM foo');而不必編寫PDO。 PDO由SQL適配器處理,語句已經準備好,如刪除,更新等。但仍然感謝:) –