尝试通过扩展该类来为所有数据库连接使用一个数据库类文件 如何...
mydb.php
<?php
class mydb{
public static $conn;
public function __construct(){
$this->conn=new mysqli("localhost","root","","akshaya");
if(!$this->conn){
echo "mysql connection error";
}else{
return $this->conn;
}
}
}
?>
cms.class.php
<?php
require_once __DIR__.'\..\mydb.php';
class paginator_vishnukumar extends mydb{
private $_limit,$_page,$_query,$_total;
public function __construct( $query ) {
parent::__construct();
$this->_query = $query;
$rs= $this->$conn->query( $this->_query );
$this->_total = $rs->num_rows; }
public function getData( $page = 1,$limit = 10 ) {
$this->_limit = $limit;
$this->_page = $page;
.........
........... ?>
dashboard.php
<?php
require 'engine/vishnuHTML.class.php';
require 'engine/admin/cms.class.php';
$html=new vishnuHTML();
$html->head();
$html->navigation();
$limit = ( isset( $_GET['limit'] ) ) ? $_GET['limit'] : 25;
$page = ( isset( $_GET['page'] ) ) ? $_GET['page'] : 1;
$links = ( isset( $_GET['links'] ) ) ? $_GET['links'] : 7;
$query = "SELECT * FROM posts";
$Paginator = new paginator_vishnukumar( $query );
$results = $Paginator->getData( $page, $limit );
?>
<div class="row">
<div class="columns"></div>
</div>
<?php
$html->footer();
?>
运行dashboard.php时抛出错误:
" Notice: Undefined variable: conn in C:\program data2\xampp\htdocs\engine\admin\cms.class.php on line 8
Fatal error: Cannot access empty property in C:\program data2\xampp\htdocs\engine\admin\cms.class.php on line 8 "
请告诉我如何在另一个 php 文件和类中使用 mydb 类...
最佳答案
您必须使用 self::$conn
访问其静态
使用$this->
,您只能访问“无”静态变量
更新为:
mydb.php
<?php
class mydb{
public static $conn;
public function __construct(){
self::$conn=new mysqli("localhost","root","","akshaya");
if(!self::$conn){
echo "mysql connection error";
}else{
return self::$conn;
}
}
}
?>
cms.class.php
<?php
require_once __DIR__.'\..\mydb.php';
class paginator_vishnukumar extends mydb{
private $_limit,$_page,$_query,$_total;
public function __construct( $query ) {
parent::__construct();
$this->_query = $query;
$rs= self::$conn->query( $this->_query );
$this->_total = $rs->num_rows; }
public function getData( $page = 1,$limit = 10 ) {
$this->_limit = $limit;
$this->_page = $page;
.........
........... ?>
关于php - 如何使用扩展类的数据库连接错误 "Undefined variable: conn in ...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36444596/