php連接mysql操作類

g6d7 11年前發布 | 2K 次閱讀 PHP MySQL

<?php
/*

* 名稱: 數據庫連接類
* 介紹: 適用于各種數據庫鏈接
*/

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

?></pre>

 本文由用戶 g6d7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!