我收到以下错误:
Fatal error: Call to undefined method database::connect() in
/Applications/XAMPP/xamppfiles/htdocs/proyectoFinal/core/class.ManageDatabase.php
on line 8
有谁知道发生了什么事?方法是在类中定义的。
这部分似乎是问题所在:$this->link = $conn->connect();
课程如下:
<?php
include_once('../config.php');
class database{
protected $db_conn;
public $db_name = DB_NAME;
public $db_host = DB_HOST;
public $db_pass = DB_PASS;
public $db_user = DB_USER;
}
function connect(){
try{
$this->$db_conn = new PDO("mysql:host =
$this->db_host;dbname=$this->db_name",
$this->db_user, $this->db_pass);
return $this->db_conn;
}
catch(PDOException $e)
{
return $e->getMessage();
}
}
?>
以下方法调用的方法:
<?php
include_once('../core/class.ManageDatabase.php');
$init = new ManageDatabase;
$table_name = 'persona';
$data = $init->getData($table_name);
print_r($data);
?>
答案 0 :(得分:1)
class database{
protected $db_conn;
public $db_name = DB_NAME;
public $db_host = DB_HOST;
public $db_pass = DB_PASS;
public $db_user = DB_USER;
} // <-- end of class database
它确实没有任何方法。我相信如果你希望函数}
成为它的一个方法,你应该移动这个connect()
,并且只在函数之后放置它。
答案 1 :(得分:0)
你关闭了课程,所以:
function connect(){ /* */ }
超出了对象范围。
class database{
protected $db_conn;
public $db_name = DB_NAME;
public $db_host = DB_HOST;
public $db_pass = DB_PASS;
public $db_user = DB_USER;
} // Remove this and add it at the end of your class definition
话虽如此,database->connect();
将不是一个定义的方法。相反:
$Var = connect();
将与当前设置一起使用