作者:垚垚8858 | 来源:互联网 | 2023-05-28 12:09
我正在进行登录功能,但遇到了一个我无法弄清楚的错误.
这是我的Model Login类:
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
}
}
最后一个函数给出错误" 方法'关闭''在类中找不到 "," 在主题类中找不到引用方法 ".
这是我的数据库类:
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();
}
}
这些途径是正确的,所以不是这样.可能是什么错误?
1> LazyOne..:
PhpStorm无法弄清楚你的$this->cxn
领域是什么类型.您可以通过简单的PHPDoc注释提供typehint来提供帮助:
/** @var Database */
private $cxn; //database object
2> 小智..:
此提示也有助于PHPstorm正确识别方法
如果您有这样的代码:
foreach( $myEntity as $entity ) {
$entity->myValidMethod();
}
只需添加此提示:
/* @var $entity \My\Name\Space\Path\MyEntity */
foreach( $myEntity as $entity ) {
$entity->myValidMethod();
}
感谢http://mossco.co.uk/symfony-2/how-to-fix-method-not-found-in-class-orange-warning-in-phpstorm/