当前位置:编程学习 > php >>

谁帮我解释下这段PHP函数

有会PHP 的 帮我解释下这个函数

 function __construct($pconnect = 0) {
  if (!$this->Link)
  {
   if($pconnect) {
    if(!$this->Link=@mysql_pconnect(DB_HOST, DB_USER, DB_PWS)) {
     $this->halt('Can not connect to MySQL server');
    }
   } else {
    if(!$this->Link=@mysql_connect(DB_HOST, DB_USER, DB_PWS)) {
     $this->halt('Can not connect to MySQL server');
    }
       
   }
   if ($this->Charset=="" )
   {
    $this->Charset="gb2312";
   }
   mysql_query("SET NAMES '".$this->Charset."'");
   $this->DB=mysql_select_db(DB_NAME);
  }
 }

 function get1()
 {
  echo DB_NAME;
 }

答案:get1()那个就不用解释了吧..

 

/*这是对象的析构函数 (新建对象的时候会自动执行, 例如 $a = new db(); 的时候会自动执行 $a->__construct()*/

function __construct($pconnect = 0) {

  /*如果还没有连接数据库..*/
  if (!$this->Link)
  {

   /*判断是否要建立持久连接*/
   if($pconnect) {
    /*尝试建立MySQL持久连接, 使用常数DB_HOST, DB_USER, DB_PWS作为参数*/

    if(!$this->Link=@mysql_pconnect(DB_HOST, DB_USER, DB_PWS)) {

     /*如果连接失败了, mysql_pconnect会返回FALSE, !$this->Link 就是TRUE, 执行这段代码, 输出 "无法连接" 错误*/
     $this->halt('Can not connect to MySQL server');
    }

   } else {

    /*尝试建立MySQL连接 (非持久, 留意mysql_connect 和上面 mysql_pconnect 的区别, 其他的一样)*/
    if(!$this->Link=@mysql_connect(DB_HOST, DB_USER, DB_PWS)) {
     $this->halt('Can not connect to MySQL server');
    }
       
   }

   /*能执行到这一步, 证明连接成功了 (失败会退出脚本), 而且 $this->Link 也设置为当前连接, 下次执行__construct()的时候就不会鸟他了*/

   /*设置默认字符集 (如果$this->Charset没有设置的话就设为gb2312)*/
   if ($this->Charset=="" )
   {
    $this->Charset="gb2312";
   }

   /*告诉MySQL服务器使用指定的字符集*/
   mysql_query("SET NAMES '".$this->Charset."'");

   /*选择默认数据库*/
   $this->DB=mysql_select_db(DB_NAME);
  }
 }

上一个:关于一道php的问题求最佳解?
下一个:用PHP代码如何实现真实IP和代理IP

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,