使用命名空间的pdo库

时间:2013-02-28 00:43:33

标签: php pdo

只要我没有添加名称空间,一切正常。 Befor PDO我添加/,但是stil PDO对象是空的,为什么?我的代码怎么了?

完整样本:

<?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
    }

错误:致命错误:调用未定义的方法Core \ classPDO :: dbLink()

为什么“$ this-&gt; dbLink”为空?感谢

1 个答案:

答案 0 :(得分:0)

您的new \PDO实例化是正确的。您的财产->dbLink创建得很好。但是PDO实例没有实现__call。因此,这不起作用:

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

您仍然需要遵循PDO类的API 在您的情况下,请在引用PDO实例属性后使用->query方法:

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