0

私は PDO で本当に奇妙な問題を抱えています。それは私に言い続けます:

SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected

問題のコード:

settings.json ファイル:

"connection" : {
    "handler" : "Meagl\\Core\\Connection\\SimplePdoMySql",
    "settings" : {
        "driver" : "mysql",
        "dsn" : "mysql:host=localhost;dbame=meagl",
        "username" : "meagl",
        "password" : "meagl"
    }
}

接続を作成する SimplePdoMysql アダプター コンストラクター:

class SimplePdoMySql extends \Meagl\Core\Connection\SimplePdo {

    /**
     * Try and connect to the Database using PDO
     */
    public function __construct($config) {
        $this->connection = new \Pdo($config['dsn'], $config['username'], $config['password']);
        $this->connection->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
    }

エラーを作成している関数:

protected function selectAllResourceIdentifiers() {
    $sth = $this->connection->query("SHOW TABLES");
    return $sth->fetchAll(\PDO::FETCH_COLUMN,0);
}

$this->connection で errorInfo() をチェックすると、次の配列が得られます。

array(3) { [0]=> string(5) "00000" [1]=> NULL [2]=> NULL }

あなたが尋ねる前に、はい、$config 配列は connection.json ファイルからの正しい値を保持します

可能性のある回答については、事前にthxしてください!

4

1 に答える 1

0

andrewsiが指摘したように、それは本当に適切に配置されたタイプミスでした

于 2013-08-29T15:22:01.530 に答える