2013-02-28 135 views
0

只要我沒有添加命名空間,一切正常。 Befor PDO我添加/,但stil PDO對象爲空,爲什麼?我的代碼有什麼問題?使用命名空間的pdo庫

完全SAMPE:

<?php 
namespace ProjectM; 

class classPDO extends DbCore 
{ 
    public function get() 
    {    
     $this->dbLink = new \PDO('mysql:host=localhost;dbname=test_db', 'root', 'pass1312'); 

     print_r($this->dbLink); // - always empty 

     $res = $this->dbLink('SELECT * FROM product')->fetchAll(PDO::FETCH_ASSOC); 

     print_r($res); // - always empty 
    } 

錯誤:致命錯誤:調用未定義的方法核心\ classPDO :: DBLINK()

爲什麼 「$這個 - > DBLINK」 是空的?謝謝

+0

檢查了這一點:http://stackoverflow.com/questions/13962789/get-results-from-from-mysql-using -pdo/13962863#13962863 – Andrew 2013-02-28 00:48:10

+0

'new \ PDO' - >'new PDO' – Andrew 2013-02-28 00:49:06

回答

0

您的new \PDO實例化是正確的。您的財產->dbLink被創建好。但是PDO實例不實現__call。因此,這將不起作用:

$res = $this->dbLink('SELECT ...') 

您仍然需要遵循PDO類的API。
在你的情況下,使用您的引用PDO實例屬性後->query方法:

$res = $this->dbLink->query('SELECT ...')