我有一个从名为 db 的基类扩展的应用程序类。当我尝试创建实例时,出现错误
在非对象上调用成员函数 query()。
我的应用程序类是:
Class Application extends DB
{
public $sql;
/*
* Public Methods
*/
/*
* Constructor
*/
function Application() {
global $sql;
$sql = db::getInstance();
}
function selectSqli($access_table){
$result = $sql->query("select * from $access_table");
return $result;
}
}
我的数据库类是:
class db extends mysqli{
protected static $instance;
protected static $options = array();
private function __construct() {
$db = self::$options;
// turn of error reporting
mysqli_report(MYSQLI_REPORT_OFF);
// connect to database
@parent::__construct(isset($db['host']) ? $db['host'] : 'localhost',
isset($db['user']) ? $db['user'] : 'root',
isset($db['pass']) ? $db['pass'] : '',
isset($db['dbname']) ? $db['dbname'] : 'angler_blog_post');
// check if a connection established
if( mysqli_connect_errno() ) {
throw new exception(mysqli_connect_error(), mysqli_connect_errno());
}
}
public static function getInstance() {
if( !self::$instance ) {
self::$instance = new self();
}
return self::$instance;
}
public function query($query) {
if( !$this->real_query($query) ) {
throw new exception( $this->error, $this->errno );
}
$result = new mysqli_result($this);
return $result;
}
}
我尝试了 global,plublic,但我无法访问函数 query()。如何解决这个错误。