php实现的mysql数据库连接最常用类

《php实现的mysql数据库连接类》

<?php 
/*
* 名称: 数据库链接类
* 介绍: 适用于各种数据库链接
* 作者: hetaoren <452649510@qq.com>
* 创建时间: 2010-12-07
* 最后修改: 2010-12-08
*/

class mysql { 
private $_link; 

public function __construct($dbhost='localhost',$dbuser='root',$dbpassword='',$dbname='taojindidai',$charset='gbk') { 
$this->_link = mysql_connect($dbhost,$dbuser,$dbpassword,true); /*连接数据库*/ 
$this->_link or $this->errmsg('无法连接MYSQL服务器!'); /*是否连接成功*/ 
if ($this->version() > '4.1') { /*检查数据库版本*/ 
$this->query('set names '.$charset); /*设置数据库编码*/ 
} 
/*打开数据库*/
mysql_select_db($dbname,$this->_link) or $this->errmsg('无法连接数据库!'); 
} 

/*执行数据库操作*/ 
public function query($sql) { 
$result = mysql_query($sql,$this->_link); 
$result or $this->errmsg('执行SQL语句错误!'); 
return $result; 
} 

/*返回根据从结果集取得的行生成的数组*/ 
/*MYSQL_BOTH 得到一个同时包含关联和数字索引的数组 (如同 mysql_fetch_array())*/ 
/*MYSQL_ASSOC 得到一个同时包含关联和数字索引的数组 (如同 mysql_fetch_assoc())*/ 
/*MYSQL_NUM 得到一个同时包含关联和数字索引的数组 (如同 mysql_fetch_row())*/ 
public function fetch_array($result,$type = MYSQL_ASSOC) {
return mysql_fetch_array($result,$type); 
} 

/*返回根据所取得的行生成的对象*/ 
public function fetch_object($result) { 
return mysql_fetch_object($result); 
} 

/*取得前一次 MySQL 操作所影响的记录行数*/ 
public function affected_rows() { 
return mysql_affected_rows($this->_link); 
} 

/* 释放结果内存*/ 
public function free_result($result) { 
return mysql_free_result($result); 
} 

/* 取得结果集中行的数目*/ 
public function num_rows($result) { 
return mysql_num_rows($result); 
}

/* 取得结果集中字段的数目*/ 
public function num_fields($result) { 
return mysql_num_fields($result); 
} 

/*取得上一步 INSERT 操作产生的 ID*/ 
public function insert_id() { 
return mysql_insert_id($this->_link); 
} 

/* 发出mysql执行错误*/ 
private function errmsg($msg) { 
$message = '<strong>一个MySQL错误发生!</strong><br />'; 
$message .= '<strong>错误号:</strong>'. mysql_errno($this->_link) .'<br />'; 
$message .= '<strong>错误描述:</strong>'. $msg . mysql_error($this->_link) .'<br />'; 
$message .= '<strong>错误时间:</strong>'. date('Y-m-d H:i:s'); 
exit($message); 
} 

/*返回连接的标识*/ 
public function link_id() { 
return $this->_link; 
}

/*返回数据库服务器版本*/ 
public function version() { 
return mysql_get_server_info($this->_link); 
} 

/*获得客户端真实的IP地址*/ 
function getip() { 
if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) { 
$ip = getenv("HTTP_CLIENT_IP"); 
}elseif(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) { 
$ip = getenv("HTTP_X_FORWARDED_FOR"); 
}elseif(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) { 
$ip = getenv("REMOTE_ADDR"); 
}elseif(isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) { $ip = "unknown"; 

$ip = $_SERVER['REMOTE_ADDR']; 
}else{ 
} 
return ($ip); 
} 
} 
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值