2013-10-09 2 views
2

을 설정하면 내 PDO 연결 클래스입니다 동안 :치명적인 오류 : 정의되지 않은 클래스 상수 'FETCH_ASSOC'여기 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 
} 

내가 내 자신의 작은 수정과 http://php.net/manual/en/book.pdo.php에서 위를 찍은 적이 있지만 나는 클래스를 호출 할 때

Fatal error: Undefined class constant 'FETCH_ASSOC'...

사람이 어떻게이 문제를 해결하는 방법을 말해 줄래 : 나는이 오류가?

+0

,'네임 스페이스 선언 후 그 여전히 오류가 발생하는지 확인 - 그것은 단지, 그래서 코드를 잘못 아무것도 볼 수 없습니다 어둠 속에서 정말 – naththedeveloper

+0

덕분에 FDL, PDO 클래스를 찾을 수없는 문제를 해결했지만 정의되지 않은 클래스 상수 오류가 남아 있습니다. 나는 const FETCH_ASSOC = 2를 추가했다; 오류가 중지되었지만 여전히 잘못된 것이 있다고 느낍니다. –

+0

PDO가 설치되어 있습니까? :) –

답변

-1

는 구성() 클래스 .... 여기

이없는 렸기 때문에 :

$config = new Config(); 

당신이 먼저 클래스를 만들 필요가!

편집 : 구성 클래스를 정의해야합니다!

같은 대신하려고 사용하는 'PDO를 추가 모든 백 슬래시의

class Config 
{ 
// construct here 
} 
관련 문제