在PHP定义类时$this->$link和$this->link有什么分别呀?? 第一个只会出错,因为$link为空 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不会出错呀,一切运行都很正常。以下是全部代码,请会的朋友帮忙看看。第一个文件:db.phpclass db_class{ //数据库连接句丙 var $link; //返回的数据集 var $rs; var $db="1"; //连接数据库的接口 //$db要连接的数据库的类型,$db=1时是MSSQL,为2时为mysql //$host连接的数据库主机名 //$user连接的数据库用户名 //$password连接的数据库密码 function db_connect($host,$user,$password){ if($this->db=="1"){ $this->link=mssql_connect($host,$user,$password); }else if($this->db=="2"){ $this->link=mysql_connect($host,$user,$password); } } //$db_name选择的数据库名;$db_query执行的SQL语句 function db_s_query($db_name,$db_query){ if($this->db=="1"){ mssql_select_db($db_name,$this->link); $this->rs=mssql_query($db_query); //$this->$rs =mssql_fetch_array($this->rs); }else if($this->db=="2"){ mysql_select_db($db_name,$this->link); $this->rs=mysql_query($db_query); //$this->$rs =mysql_fetch_array($this->rs); } } //关闭数据库的操作 function db_close(){ if($this->db=="1"){ mssql_close($this->link); }else if($this->db=="2"){ mysql_close($this->link); } } }第二个文件:db_test.php<?PHP $db=1; $host="localhost"; $user="user3"; $password="111"; $db_name="user4"; $sql_select="select hf_mess from user_hf"; $db_open=new db_class(); $db_open->db_connect($host,$user,$password); $db_open->db_s_query($db_name,$sql_select); while($rew=mssql_fetch_array($db_open->rs)){ echo $rew[hf_mess]; echo "<hr>"; } $db_open->db_close();?>这样是可以运行的。但当在类所指向的变量前加上"$"这个符号时就会出错(什么都不会显示),不知道为什么。 在类方法内的this指定的成员变量前加上$表示this指针所指向的是一个动态的变量,从$变量中取得值,然后再指向以这个值为定义成员变量。这种通常在类间关联以参数传递为用得多。加上$什么都不会显示,是因为php是弱类语言,没有定义就可以使用,所以如果那个值没有定义也可以使用,值是为空,也就不会有什么结果! 请教疑难杂症 急求页面信息采集 在线等答 开头include了连接数据库用的conn.php,程序结束的时候可以用die()来达到关闭数据库的效果吧 php分页置顶到第二页 变量赋值后需要unset释放吗? 下面是我对php的设置的过程,麻烦各位大侠多指点指点 倾全部家当求自动创建报表思路和程序 如何用php构造页面登陆参数提交并取得结果,再对其分析,进行成功登陆之后的操作 请问这几行代码是什么意思 请问分页中的 (^|&) 这句正则是什么意思,看不明白 关于tempnam函数的问题? 在PHP4当中: 如何把A类类对象当作参数传递到B类类对象的方法当中
//数据库连接句丙
var $link;
//返回的数据集
var $rs;
var $db="1";
//连接数据库的接口
//$db要连接的数据库的类型,$db=1时是MSSQL,为2时为mysql
//$host连接的数据库主机名
//$user连接的数据库用户名
//$password连接的数据库密码
function db_connect($host,$user,$password){
if($this->db=="1"){
$this->link=mssql_connect($host,$user,$password);
}else if($this->db=="2"){
$this->link=mysql_connect($host,$user,$password);
}
}
//$db_name选择的数据库名;$db_query执行的SQL语句
function db_s_query($db_name,$db_query){
if($this->db=="1"){
mssql_select_db($db_name,$this->link);
$this->rs=mssql_query($db_query);
//$this->$rs =mssql_fetch_array($this->rs);
}else if($this->db=="2"){
mysql_select_db($db_name,$this->link);
$this->rs=mysql_query($db_query);
//$this->$rs =mysql_fetch_array($this->rs);
}
}
//关闭数据库的操作
function db_close(){
if($this->db=="1"){
mssql_close($this->link);
}else if($this->db=="2"){
mysql_close($this->link);
}
}
}第二个文件:db_test.php<?PHP
$db=1;
$host="localhost";
$user="user3";
$password="111";
$db_name="user4";
$sql_select="select hf_mess from user_hf";
$db_open=new db_class();
$db_open->db_connect($host,$user,$password);
$db_open->db_s_query($db_name,$sql_select);
while($rew=mssql_fetch_array($db_open->rs)){
echo $rew[hf_mess];
echo "<hr>";
}
$db_open->db_close();
?>这样是可以运行的。
但当在类所指向的变量前加上"$"这个符号时就会出错(什么都不会显示),不知道为什么。