谁帮我解释下这段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