意思是你的第 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")
{}
解决方案 »
- 如何使用PDO获取多个结果集??
- 留言板记录初始显示5条,点击“更多”利用ajax多取20条,并用JS动态加载在原来5条下方,如何实现?
- 编码问题
- [分享]PHP Memcached客户端官方文档翻译
- 很简单的问题,就是怎样应用另一个文件的类
- mail函数返回false,nb_send_mail函数也一样,求指点
- 分不多,请帮忙谢谢~虚拟机 Redhat 9+apache 2.2.3+mysql 5.1.6+php5.1.6,php不能连接mysql!
- NGINX 伪静态的问题 请大家来看看谢谢
- 有什么办法可以将我打开的文件b.pbp里所require包含的文件把它拷贝到b.php的目录下
- (急急急)为什么在我的电脑上用FTP只能,下载不能上传
- 一个头疼的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是默认的析构函数
......
}
}还有克隆等默认方法