필자는 필자의 기본 스크립트 중 일부를 PDO를 사용하기 시작하면서 변환하여 정적 인증 메소드를 작동시킬 수없는 것으로 보입니다. 그래도 정적이 아닌 작업을 할 수있게되었습니다.pdo로 정적 인증 메소드
Heres는 비 정적을 인증 방법과와 관계있는 코드 : 정적 mehthod를 선언 할 때 일반적으로 SQL 문 후 첫 번째 줄에서 문제로 실행하는 솔루션에
private $dbh;
public function __construct()
{
$this->dbh = new PDO("mysql:host=localhost;dbname=carmen", 'root', '');
$this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
public function authenticate($username="", $password="")
{
$sql = "SELECT * FROM user ";
$sql .= "WHERE username = :username ";
$sql .= "AND pass = :password ";
$sql .= "LIMIT 1";
$stmt = $this->dbh->prepare($sql);
$stmt->bindParam(':username', $username);
$stmt->bindParam(':password', $password);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return !empty($result) ? true : false;
}
내 시도. 클래스의 시작 부분에서 $ dbh를 private로 선언해야한다고 생각합니다.