21,887
社区成员
发帖
与我相关
我的任务
分享
<?php
class DataBase{
var $server = "loaclhost:3306";
var $dataBase = "topd3";
var $uid = "root";
var $pwd = "000000";
private function GetConnection(){
$Connection = mysql_connect ($server,$uid,$pwd);
return $Connection;
}
private function OpenDataBase($conn){
mysql_select_db($dataBase,$conn);
}
private function InitDataBase(){
$connection = GetConnection();
OpenDataBase($connection);
}
function DataBase(){
InitDataBase();
}
public function Execute($commandText){
$result= mysql_query ($commandText);
$dataTable = array();
while ($row = mysql_fetch_array($result)){
$dataTable[] = $row;
}
return $dataTable;
}
}
调用的时候报错
Fatal error: Call to undefined function InitDataBase()
照字面意思是方法InitDataBase未定义 可恶我明明定义了啊
?>
function DataBase(){
InitDataBase();
}
//改为
function DataBase(){
$this->InitDataBase();
}
<?php
class DataBase{
// var $server = "loaclhost:3306"; //这里loaclhost写错了
var $server = "localhost:3306";
var $dataBase = "dnkb";
var $uid = "root";
var $pwd = "123456";
private function GetConnection(){
// $Connection = mysql_connect ($server,$uid,$pwd); //$this-> 用来获取类中的属性和方法
$Connection = mysql_connect ($this->server,$this->uid,$this->pwd); //这里要用$this->//方式获取类中的属性
return $Connection;
}
private function OpenDataBase($conn){
mysql_select_db($this->dataBase,$conn);
}
private function InitDataBase(){
$connection = $this->GetConnection(); //这里要用$this-> 获取类中的方法
$this->OpenDataBase($connection); //这里要用$this-> 获取类中的方法
}
function DataBase(){
$this->InitDataBase(); //这里要用$this-> 获取类中的方法
}
public function Execute($commandText){
$result= mysql_query ($commandText);
$dataTable = array();
while ($row = mysql_fetch_array($result)){
$dataTable[] = $row;
}
return $dataTable;
}
}
$database = new DataBase();
?>
private function InitDataBase(){
$connection = GetConnection();
OpenDataBase($connection);
}
应写作 public function InitDataBase(){
$connection = $this->GetConnection();
$this->OpenDataBase($connection);
}