php连接mysql代码+类_php连接mysql操作类

/*

* 名称: 数据库连接类

* 介绍: 适用于各种数据库链接

*/

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 = '一个MySQL错误发生!
';

$message .= '错误号:'. mysql_errno($this->_link) .'
';

$message .= '错误描述:'. $msg . mysql_error($this->_link) .'
';

$message .= '错误时间:'. 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);

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值