Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:未定义的类常量';获取协会';在设置PDO连接时_Php_Mysql_Pdo - Fatal编程技术网

Php 致命错误:未定义的类常量';获取协会';在设置PDO连接时

Php 致命错误:未定义的类常量';获取协会';在设置PDO连接时,php,mysql,pdo,Php,Mysql,Pdo,以下是我的PDO连接类: class DB { private static $objInstance; private static $dsn; private static $user; private static $pwd; /* * Class Constructor - Create a new database connection if one doesn't exist * Set to private so no-one can create a new insta

以下是我的PDO连接类:

class DB {

private static $objInstance;

private static $dsn;
private static $user;
private static $pwd;


/*
 * Class Constructor - Create a new database connection if one doesn't exist
* Set to private so no-one can create a new instance via ' = new DB();'
*/
private function __construct() {}

/*
 * Like the constructor, we make __clone private so nobody can clone the instance
*/
private function __clone() {}

private function getConfig()
{
    $config = new Config();
    $db = $config->getConfig('dbcxn');
    DB::$dsn = $db['dsn'];
    DB::$user = $db['user'];
    DB::$pwd = $db['password'];
}

/*
 * Returns DB instance or create initial connection
* @param
* @return $objInstance;
*/
public static function getInstance(  ) {

    if(!self::$objInstance){
        self::getConfig();
        self::$objInstance = new \PDO(DB::$dsn, DB::$user, DB::$pwd);
        self::$objInstance->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
        self::$objInstance->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_ASSOC);
    }

    return self::$objInstance;

} # end method

/*
* Passes on any static calls to this class onto the singleton PDO instance
* @param $chrMethod, $arrArguments
* @return $mix
*/
final public static function __callStatic( $chrMethod, $arrArguments ) {

$objInstance = self::getInstance();

    return call_user_func_array(array($objInstance, $chrMethod), $arrArguments);

} # end method
}
我已从中获取了上述内容,并对其进行了少量修改,但当我调用该类时,出现以下错误:

致命错误:未定义的类常量“FETCH\u ASSOC”…


有人能告诉我如何解决这个问题吗?

因为您没有Config()类

在这里:

你得先上那门课

编辑: 您需要定义配置类

比如:


尝试添加
使用PDO,而不是使用所有反斜杠在你的命名空间声明之后,看看它是否仍然抛出错误-看不出代码有任何错误,所以这只是一个暗中操作。真的感谢FDL,它解决了PDO类未找到的问题,但未定义的类常量错误仍然存在。我添加了常量FETCH_ASSOC=2;错误停止了,但我仍然觉得有问题。您确定安装了PDO吗?:)@TomaszKowalczyk,是的,我确定,从phpinfo()页面。您是否有3000%的把握它会说“
\PDO::FETCH_ASSOC
”?没有隐藏的零宽度空间或其他不可见的东西在那里。。。?试着重新打字吗?
$config = new Config();
class Config
{
 // construct here
}