从同一个类中的函数访问本地数据库变量

时间:2013-10-28 13:48:05

标签: php mysqli

如果计划创建数据库类以在任何php项目中使用它,所以我用下面的代码编写基本类,但是在测试时我得到了错误消息 警告:mysqli_query()要求参数1为mysqli,在第38行的C:\ AppServ \ www \ cms \ includes \ cmsDatabase.php中 null 虽然我在分配给本地var。

的类构造函数中创建连接

我的代码:

<?php
class cmsDatabase {


//Database Info 
var $db_host = "localhost";
var $db_username = "root";
var $db_password="root";
var $db_database= "mydb";

//Database Parameters 
var $database_connection ;
var     $database_db ;
var   $error_Message ;   

public function __construct(){
    $database_connection = mysqli_connect($this->db_host,$this->db_username,$this->db_password,$this->db_database) or die("can't connect to server") ;

}// end __construct  

public function __destruct(){
    mysqli_close($this->database_connection);
}// end __destruct   


function getLastError(){
    return $this->error_Message  ;
    }


//==================== DATABASE OPERATIONS ======================
function getConnection(){
        return $this->database_connection ;
}

function selectQuery ($sql){

    $result = mysqli_query($this->database_connection,$sql); //>> ERROR HERE
    return $result ;

}




}//Class 



?>

1 个答案:

答案 0 :(得分:3)

你必须使用:

构造函数中的

$this->database_connection,否则它只是一个局部变量,超出了查询的范围。

更新:哦,不要使用var,它已在PHP 5中弃用:What does PHP keyword 'var' do?