0

只要我没有添加命名空间,一切正常。在 PDO 之前我添加 /,但 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->dbLink”为空?谢谢

4

1 回答 1

0

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

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

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

$res = $this->dbLink->query('SELECT ...')
于 2013-02-28T00:54:57.793 回答