我正在使用登录功能,但是遇到了我无法弄清的错误。
这是我的模型登录类:
class Login { private $username; private $password; private $cxn; //database object function __construct($username,$password) { //set data $this->setData($username, $password); //connect DB $this->connectToDB(); // get Data } function setData($username, $password) { $this->username = $username; $this->password = $password; } private function connectToDB() { include 'Database.php'; $connect = '../include/connect.php'; $this->cxn = new database($connect); } function getData() { $query = "SELECT * FROM anvandare WHERE anvandarnamn = '$this->username' AND losenord ='$this->'password'"; $sql = mysql_query($query); if(mysql_num_rows($sql)>0) { return true; } else { throw new Exception("Användarnamnet eller Lösenordet är fel. Försök igen."); } } function close() { $this->cxn->close(); //Here is the error it says "Method 'close' not found in class } }
最后一个函数给出错误“ 在类中找不到方法’close’ ”,“ 在主题类中找不到引用的方法。 ”
这是我的数据库类:
class Database { private $host; private $user; private $password; private $database; function __construct($filename) { if(is_file($filename)) include $filename; else throw new exception("Error!"); $this->host=$host; $this->user=$user; $this->password=$password; $this->database=$database; $this->connect(); } private function connect() { //Connect to the server if(!mysql_connect($this->host, $this->user, $this->password)) throw new exception("Error, not connected to the server."); //Select the database if(!mysql_select_db($this->database)) throw new exception("Error, no database selected"); } function close() { mysql_close(); } }
路径是正确的,事实并非如此。可能是什么错误?
PhpStorm无法确定您的$this->cxn字段是什么类型。您可以通过简单的PHPDoc注释提供typehint来提供帮助:
$this->cxn
/** @var Database */ private $cxn; //database object