《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);
}
}
?>
php实现的mysql数据库连接最常用类
最新推荐文章于 2021-02-08 23:43:27 发布