在第10行的C:\ Users \ PC \ Documents \ XAMPP \ htdocs \ class.News.php中的非对象上调用成员函数prepare()
我是OOP的新手,所以非常感谢任何帮助。
class.Database
<?php
class Database{
private $db_host = 'localhost';
private $db_user = 'c3337015';
private $db_pass = 'c3337015';
private $db_name = 'iitb';
public $myconn;
public function connect(){
if(!isset($this->myconn)){
$this->myconn = mysqli_connect($this->db_host,$this->db_user,$this->db_pass,$this->db_name);
if($this->myconn){
echo "connected"; // echoing just for testing purposes
return true;
}else{
echo "failed";
return false;
}}else{
echo "already connected";
return false;
}
}
public function disconnect()
{
if(isset($this->myconn))
{
if(mysqli_close($this->myconn))
{
$this->myconn = false;
echo "connection closed";
return true;
}
else
{
echo "failed to close connection";
return false;
}
}else{
echo "no connection prescent";
}
}
}
class.News
<?php
require_once('class.Database.php');
class News extends Database{
function getNews(){
$me = new Database();
$me->connect();
// HOW DO I USE THE MYCONN VARIABLE AS DEFINED IN CLASS.DATABASE
$stmt = $this->myconn->prepare(" SELECT * FROM news ");
//the rest of the $stmt etc etc....
}
}
答案 0 :(得分:0)
如果要在其他类中使用数据库类,那么它是其他类型的依赖项。您的类不应该扩展数据库类,因为它不会。
您应该像以前一样包含数据库类,并使用它。
然后你应该像这样使用它(基于你提供的代码):
$me = new Database();
$me->connect();
$stmt = $me->myconn->prepare(" SELECT * FROM news ");
但是你应该在继续之前阅读一些关于OOP的论文,因为你没有正确使用这个范例。