-3
我的PHP函数非常简单。它只是使用预处理语句来查询数据库,但我不明白为什么它不起作用。PHP:调用一个非对象的成员函数prepare()
我不断收到一个“调用一个成员函数准备()一个非对象”的错误,尽管我已经声明$conn
作为私有变量和使用$this->conn
<?php
require_once 'constants.php';
class Mysql {
private $conn;
function ___construct(){
$this->conn = new mysqli (DB_SEVER, DB_USER, DB_PASSWORD, DB_NAME);
if (!$this->conn){
die('There was a problem connecting to the database!');
}
}
function verify_name_and_pass ($un, $pwd) {
$query = "SELECT * FROM users
WHERE username = ? AND user_password = ?
LIMIT 1";
if ($stmt = $this->conn->prepare($query)) {
$stmt->bind_param('ss', $un, $pwd);
$stmt->execute();
if ($stmt->fetch()) {
$stmt->close();
return true;
}
}
}
}
男人,这个问题已经被问过数十亿次。为什么不花几秒钟阅读现有的答案? – 2013-03-09 13:25:51
'DB_SEVER' - 错字? – Clive 2013-03-09 13:26:56