返回顶部

收藏

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);  
        }  
    } 
?>

标签:php,mysql

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 青鱼 发表 2016-04-28 07:44:00 对PHP连接MySQL和其他数据库方式的理解
  2. colinhu 发表 2012-12-02 08:47:07 LAMP架构相关书籍介绍
  3. lixiphp 发表 2013-06-07 07:32:43 HTML字符编码JS和PHP 转义
  4. Lok 发表 2018-03-27 03:46:36 php获取mysql多个结果集返回
  5. aquan 发表 2012-12-29 09:32:23 BuyVM VPS性能测试
  6. 郑永 发表 2013-09-20 00:34:38 手机搭建php+mysql完美运行wordpress
  7. Li Xi 发表 2014-02-24 14:20:35 PHP 连接 unix_socket MySQL
  8. enjoy <> 发表 2013-11-17 13:57:48 php5.4后htmlspecialchars输出为空的问题
  9. Cherrot 发表 2012-11-10 09:37:29 编译配置LAMP环境
  10. Cherrot 发表 2014-11-02 15:40:10 VPS初始配置+LNMP环境速配指南
  11. wkii 发表 2013-09-16 15:11:52 Php Aes加密类
  12. ISADBA|FH.CN 发表 2014-12-18 01:29:59 安装MySQL慢查询日志工具Anemometer

发表评论