테스트 목적으로 PDO를 처음 사용하는 것은 처음입니다. 하지만 이상한 오류가 발생하여 검색 중이므로 이상하게 보입니다.PDO 연결 문제
Warning: PDO::prepare() [pdo.prepare]: SQLSTATE[00000]: No error: PDO constructor was not called in myfile.php on line 39
로 라인 (39)을 고려 : 그것은 나에게 다음과 같은 오류를 보여줍니다
$db = new db();
$row = $db->prepare('SELECT * FROM test WHERE id = :id')->execute(array('id' => 1));
echo $row['value'];
:
여기 내 데이터베이스 테스트 그리고 클래스
class db extends PDO
{
# Our instance.
private static $db = NULL;
# Calling the connector.
public static function connect()
{
if (self::$db === NULL)
{
$class = __CLASS__;
self::$db = new $class();
}
return self::$db;
}
# Connector.
public function __construct()
{
$dns = 'mysql:dbname='.reg::get('db-name').';host='.reg::get('db-host');
self::$db = new PDO($dns, reg::get('db-username'), reg::get('db-password'));
reg::delete('db-password');
}
# Quick reporting
public function reportError($array)
{
if ($this->db != NULL) { echo 'Myself getting horny'; } // Just for testing, i'm not getting horny because of a mysql database connection!
}
}
다음 코드를 실행입니다
$row = $db->prepare('SELECT * FROM test WHERE id = :id')->execute(array('id' => 1));
가 마토스, 그래, 내가 한 @andre. 똑같은 오류가 나타납니다. – Shoe
왜 연결 방법이 있습니까? 왜'$ db'가'self :: $ db'가 아닌 null인지 검사하고 있습니까? 왜'self :: $ db = new db();'를하고 있습니까? –
아직 문제가 아니지만 테이블/열 이름에 자리 표시자를 사용할 수 없습니다. 값으로 평가되는 무언가에 대해서만. – goat