zoukankan      html  css  js  c++  java
  • php MySQL数据库操作类源代码

    php MySQL数据库操作类源代码:

    <?php
    class MySQL{
        private $host;                            //服务器地址
        private $name;                            //登录账号
        private $pwd;                            //登录密码
        private $dBase;                            //数据库名称
        private $conn;                            //数据库链接资源
        private $result;                        //结果集
        private $msg;                            //返回结果
        private $fields;                        //返回字段
        private $fieldsNum;                        //返回字段数
        private $rowsNum;                        //返回结果数
        private $rowsRst;                        //返回单条记录的字段数组
        private $filesArray = array();            //返回字段数组
        private $rowsArray = array();            //返回结果数组
        private $charset='utf8';                //设置操作的字符集
        private $query_count=0;                 //查询结果次数
        static private $_instance;                 //存储对象
        //初始化类
        private function __construct($host='',$name='',$pwd='',$dBase=''){
            if($host  !=  '')  $this->host  = $host;
            if($name  !=  '')  $this->name  = $name;
            if($pwd   !=  '')  $this->pwd   = $pwd;
            if($dBase !=  '')  $this->dBase = $dBase;
            $this->init_conn();
        }
        //防止被克隆
        private function __clone(){}
        public static function getInstance($host='',$name='',$pwd='',$dBase=''){
            if(FALSE == (self::$_instance instanceof self)){
                self::$_instance = new self($host,$name,$pwd,$dBase);
            }
            return self::$_instance;
        }
        public function __set($name,$value){
            $this->$name=$value;
        }
        public function __get($name){
            return $this->$name;
        }
        //链接数据库
        function init_conn(){
            $this->conn=@mysql_connect($this->host,$this->name,$this->pwd) or die('connect db fail !');
            @mysql_select_db($this->dBase,$this->conn) or die('select db fail !');
            mysql_query("set names ".$this->charset);
        }
        //查询结果
        function mysql_query_rst($sql){
            if($this->conn == '') $this->init_conn();
            $this->result = @mysql_query($sql,$this->conn);
            $this->query_count++;
        }
        //取得字段数 
        function getFieldsNum($sql){
            $this->mysql_query_rst($sql);
            $this->fieldsNum = @mysql_num_fields($this->result);
        }
        //取得查询结果数
        function getRowsNum($sql){
            $this->mysql_query_rst($sql);
            if(mysql_errno() == 0){
                return @mysql_num_rows($this->result);
            }else{
                return '';
            }    
        }
        //取得记录数组(单条记录)
        function getRowsRst($sql,$type=MYSQL_BOTH){
            $this->mysql_query_rst($sql);
            if(empty($this->result)) return '';
            if(mysql_error() == 0){
                $this->rowsRst = mysql_fetch_array($this->result,$type);
                return $this->rowsRst;
            }else{
                return '';
            }
        }
        //取得记录数组(多条记录)
        function getRowsArray($sql,$type=MYSQL_BOTH){
            !empty($this->rowsArray) ? $this->rowsArray=array() : '';
            $this->mysql_query_rst($sql);
            if(mysql_errno() == 0){
                while($row = mysql_fetch_array($this->result,$type)) {
                    $this->rowsArray[] = $row;
                }
                return $this->rowsArray;
            }else{
                return '';
            }
        }
        //更新、删除、添加记录数
        function uidRst($sql){
            if($this->conn == ''){
                $this->init_conn();
            }
            @mysql_query($sql);
            $this->rowsNum = @mysql_affected_rows();
            if(mysql_errno() == 0){
                return $this->rowsNum;
            }else{
                return '';
            }
        }
        //返回最近插入的一条数据库的id值
        function returnRstId($sql){
            if($this->conn == ''){
                $this->init_conn();
            }
            @mysql_query($sql);
            if(mysql_errno() == 0){
                return mysql_insert_id();
            }else{
                return '';
            }
        }
        //获取对应的字段值
        function getFields($sql,$fields){
            $this->mysql_query_rst($sql);
            if(mysql_errno() == 0){
                if(mysql_num_rows($this->result) > 0){
                    $tmpfld = @mysql_fetch_row($this->result);
                    $this->fields = $tmpfld[$fields];
                    
                }
                return $this->fields;
            }else{
                return '';
            }
        }
        //错误信息
        function msg_error(){
            if(mysql_errno() != 0) {
                $this->msg = mysql_error();
            }
            return $this->msg;
        }
        //释放结果集
        function close_rst(){
            mysql_free_result($this->result);
            $this->msg = '';
            $this->fieldsNum = 0;
            $this->rowsNum = 0;
            $this->filesArray = '';
            $this->rowsArray = '';
        }
        //关闭数据库
        function close_conn(){
            $this->close_rst();
            mysql_close($this->conn);
            $this->conn = '';
        }
        //取得数据库版本
        function db_version() {
            return mysql_get_server_info();
        }
    }

    调用方法如下:

    include_once('mysql.class.php');
    $db = MySQL::getInstance($db_host,$db_user,$db_pass,$db_data);
    $sql = $db->getRowsArray("SELECT * FROM pre_forum_post WHERE fid=2 limit 0,5"); //选择数据
    print_r($sql);
    ^_^ 亲爱的客官,如果您觉得本文对您有好处,请移动你的鼠标点点下面的关注我,一起学习,一起分享.~ ^_^
  • 相关阅读:
    一个别人的心得(转发的)
    常见的游戏设计技术
    查看更新
    xml,json和各种序列化工具的对比
    python游戏环境搭建
    快速制作游戏
    子网和掩码
    nat
    pycharm使用技巧
    IP的面向无连接状态
  • 原文地址:https://www.cnblogs.com/blts/p/4724237.html
Copyright © 2011-2022 走看看