我遇到了问题,我无法理解为什么它无法正常工作。这可能很简单。
我将PDO对象传递给同一文件中的一个类,我正在尝试使用该PDO对象执行查询,但是我收到以下错误
致命错误:在null
上调用成员函数prepare()
这是我认为应该运行的代码
try{
$pdo = new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS);
}
catch (PDOexception $e) {
// get the error message
$message = 'Connection failed: ' . $e->getMessage();
}
$test= new Test($pdo);
var_dump($test->get_users());
class Test{
private $pdo;
public function __contruct($pdo) {
$this->pdo = $pdo;
}
public function get_users() {
$sql = "SELECT
user.*,
user_role.role AS role
FROM user
LEFT JOIN user_role ON
user.role_id = user_role.id;";
$stmt = $this->pdo->prepare($sql);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
}
知道造成错误的原因
答案 0 :(得分:1)
这是一个错字,您键入__contruct
而不是__construct
。缺少s
。