在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是弱类语言,没有定义就可以使用,所以如果那个值没有定义也可以使用,值是为空,也就不会有什么结果! 高分求PHP修改压缩文件注释和里面文件的方法!!有就送分! 数组搜索的时候怎么样才能不区分大小写呢? PHP soap通信时http请求默认Content-Type=soap+xml,怎么修改成text/xml php + mssql 获取记录集问题.... zend studio 的问题 php编写的上传文件代码 大文件上传4M以上 动态二级域名配置 菜鸟求助。。。php连接mysql的问题 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();
?>这样是可以运行的。
但当在类所指向的变量前加上"$"这个符号时就会出错(什么都不会显示),不知道为什么。