2013-02-28 2 views
0

Все работает нормально, пока я не добавил пространство имен. Befor PDO i add /, но 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()

Почему "$ this-> DBLink" пусто? Спасибо

+0

проверить это: http://stackoverflow.com/questions/13962789/get-results-from-from-mysql-using -pdo/13962863 # 13962863 – Andrew

+0

'new \ PDO' ->' новый PDO' – Andrew

ответ

0

Ваша коррекция new \PDO верна. Ваша собственность ->dbLink будет создана в порядке. Но экземпляр PDO не реализует __call. Таким образом, это не сработает:

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

Вам по-прежнему необходимо следовать API класса PDO.
В вашем случае, используйте метод ->query после вашего PDO экземпляра свойства:

$res = $this->dbLink->query('SELECT ...') 
Смежные вопросы