数据库链接类

<?php  


010    class mysql {  
011        private $_link;  
012          
013        public function __construct($dbhost='localhost',$dbuser='root',$dbpassword='',$dbname='taojindidai',$charset='gbk') {  
014            $this->_link = mysql_connect($dbhost,$dbuser,$dbpassword,true);  /*连接数据库*/ 
015            $this->_link or $this->errmsg('无法连接MYSQL服务器!');  /*是否连接成功*/ 
016            if ($this->version() > '4.1') {                  /*检查数据库版本*/ 
017                $this->query('set names '.$charset);         /*设置数据库编码*/ 
018            }  
019            /*打开数据库*/
020            mysql_select_db($dbname,$this->_link) or $this->errmsg('无法连接数据库!');  
021        }  
022          
023        /*执行数据库操作*/ 
024        public function query($sql) {                                                               
025            $result = mysql_query($sql,$this->_link);  
026            $result or $this->errmsg('执行SQL语句错误!');  
027            return $result;  
028        
029           
030        /*返回根据从结果集取得的行生成的数组*/ 
031        /*MYSQL_BOTH 得到一个同时包含关联和数字索引的数组 (如同 mysql_fetch_array())*/ 
032        /*MYSQL_ASSOC 得到一个同时包含关联和数字索引的数组 (如同 mysql_fetch_assoc())*/ 
033        /*MYSQL_NUM 得到一个同时包含关联和数字索引的数组 (如同 mysql_fetch_row())*/ 
034        public function fetch_array($result,$type = MYSQL_ASSOC) {
035            return mysql_fetch_array($result,$type);     
036        
037           
038        /*返回根据所取得的行生成的对象*/ 
039        public function fetch_object($result) {  
040            return mysql_fetch_object($result);  
041        
042           
043        /*取得前一次 MySQL 操作所影响的记录行数*/ 
044        public function affected_rows() {  
045            return mysql_affected_rows($this->_link);  
046        }  
047          
048        /* 释放结果内存*/ 
049        public function free_result($result) {  
050            return mysql_free_result($result);   
051        }  
052          
053        /* 取得结果集中行的数目*/ 
054        public function num_rows($result) {  
055            return mysql_num_rows($result);  
056        }
057            
058        /* 取得结果集中字段的数目*/ 
059        public function num_fields($result) {  
060            return mysql_num_fields($result);  
061        }  
062          
063        /*取得上一步 INSERT 操作产生的 ID*/ 
064        public function insert_id() {  
065            return mysql_insert_id($this->_link);  
066        
067           
068        /* 发出mysql执行错误*/ 
069        private function errmsg($msg) {  
070            $message  = '<strong>一个MySQL错误发生!</strong><br />';  
071            $message .= '<strong>错误号:</strong>'. mysql_errno($this->_link) .'<br />';  
072            $message .= '<strong>错误描述:</strong>'. $msg . mysql_error($this->_link) .'<br />';  
073            $message .= '<strong>错误时间:</strong>'. date('Y-m-d H:i:s');  
074            exit($message);  
075        
076           
077        /*返回连接的标识*/ 
078        public function link_id() {  
079            return $this->_link;  
080        }
081            
082        /*返回数据库服务器版本*/ 
083        public function version() {  
084            return mysql_get_server_info($this->_link);  
085        }  
086          
087        /*获得客户端真实的IP地址*/ 
088        function getip() {  
089            if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {  
090                $ip = getenv("HTTP_CLIENT_IP");  
091            }elseif(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {  
092                $ip = getenv("HTTP_X_FORWARDED_FOR");  
093            }elseif(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {  
094                $ip = getenv("REMOTE_ADDR");  
095            }elseif(isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {                 $ip = "unknown";  
096  
097                $ip = $_SERVER['REMOTE_ADDR'];  
098            }else{  
099            }  
100            return ($ip);  
101        }  
102    
103?>
收集一个很常用的数据库连接类,很实哈,要不你也试试看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值