나는 현재 다음과 같이 DB 연결을 전달하기 위해 노력하고있어 :다른 클래스에 DB 연결을 전달하는 방법은 무엇입니까?
class Test {
public $user;
public $db;
function __construct() {
// connect to database
try {
$this->db = new PDO('mysql:host='.DB_HOST.';dbname='.DB_DATABASE.'', DB_USERNAME, DB_PASSWORD);
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $err) {
die($err->getMessage());
}
$this->user = new User($this->db);
}
}
class User {
public $db;
function __construct($db) {
$this->db = $db;
}
// execute some query
$sql = "SELECT * FROM test";
$sth = $this->db->prepare($sql);
$sth->execute();
$result = $sth->fetch();
if(!empty($result)) {
echo '<pre>';
var_dump($result);
echo '</pre>';
}
}
하지만 내가 얻을 : 치명적인 오류 : 개체가 아닌()를 준비하는 멤버 함수를 호출합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
거기에 구문 오류가 있다는 것을 확신합니다 :'} '도 있습니다. 많은. –
'사용자'코드에 인라인 코드가 있습니다. 클래스는 변수 및 함수 정의 만 포함 할 수 있습니다. – symcbean