意思是你的第 1 2 3 4 个参数没有
$sysinfo=new SYSINFO($host,$user,$password,$db);这里应该加入四个参数,
因为你的类构造函数需要参数,而你又没有设置黙认值 如果你不想加的话就将
function MYSQL($host,$user,$password,$db)
{}
改成
function MYSQL($host="xxx",$user="xxx",$password="xxx",$db="xx")
{}
$sysinfo=new SYSINFO($host,$user,$password,$db);这里应该加入四个参数,
因为你的类构造函数需要参数,而你又没有设置黙认值 如果你不想加的话就将
function MYSQL($host,$user,$password,$db)
{}
改成
function MYSQL($host="xxx",$user="xxx",$password="xxx",$db="xx")
{}
解决方案 »
- 江湖救急,急用啊,各位大侠。只有这几行代码,为什么会出现这种错误???
- PHP 如何获取SVG图像的尺寸?
- 这个数组用SMT怎么循环
- 一个网页里有n个mail,请用正则查找中所有的mail并一个个打印出来
- 正则表达式,preg_match_all()检测的问题2个
- 我在vc下作开发有一年多了,痛恨ms的垄断,不知道学习php是否可以摆脱受人制约的感觉,同时想问php有前途吗,听说她的问题很多?!
- 关于copy 函数的问题,我想复制文件,结果总是说复制失败
- 这是什么错误?????///急...
- 我觉得PHP+MYSQL在IIS上的配置有些不太稳定,大家认为呢?
- 关于随机数!
- 一个头疼的SQL问题(mysql)
- 有没高手在啊,急死了
由于你的子类没有构造函数,它就会执行父类的构造函数,
而父类的构造函数是需要参数的,你没有提供,所以出错了
你应该在子类指定构造函数function SYSINFO($host,$user,$password,$db)
{
parent::MYSQL($host,$user,$password,$db);
}
//更新在线人数
function checkonline(){
$this->conn();
$this->db();
$sql="select * from `online`";
$this->query($sql);
while($result=$this->result()){
if(($result[logintime]+300)<time()){
$userid=$result[userid];
$sqldeluserid="delete from `online` where userid='$userid'";
$this->query($sqldeluserid);
}
}
}
那么这个子类为什么没有问题呢?已经测试过没有任何报错信息
下面有参数呀,如果你下面没参数就要有构造函数.
比如:
<?php
class db_mysql{
function db_mysql($host,$user,$passwd,...){
......
}
function ...
}
?>
这在PHP4中很常见,PHP5支持这么写,但是有了新的写法
class db_mysql{
public function __construct(...){ //__construct是默认的构造函数
......
}
public function __destruct(){ //__destruct是默认的析构函数
......
}
}还有克隆等默认方法