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に従う必要があります。この場合、 PDOインスタンスプロパティを参照した後にメソッドを
使用します。->query

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