php实现比较全的数据库操作类

5年以前  |  阅读数:862 次  |  编程语言:PHP 

本文实例讲述了php实现比较全的数据库操作类。分享给大家供大家参考。具体如下:


    <?php
     class database
     {
      private $hostname;
      private $user;
      private $pass;
      private $dbname;
      private $linkflag;
      private $charset;
      function __construct()
      {
       $this->hostname="localhost";
       $this->user="root";
       $this->pass="111";
       $this->dbname="";
       $this->charset="utf8"; //gb2312 GBK utf8
       $this->linkflag=mysql_connect($this->hostname,$this->user,$this->pass);
       mysql_select_db($this->dbname,$this->linkflag) or die($this->error());
       mysql_query("set names ".$this->charset);
      }
      function __set($property_name,$value)
      {
       return $this->$property_name=$value;
      }
      function __get($property_name)
      {
       if(isset($this->$property_name))
       {
        return $this->$property_name;
       }
       else return null;
      }
      function __call($function_name, $args)
      {
        echo "<br><font color=#ff0000>你所调用的方法 $function_name 不存在</font><br>\n";
      }
      function query($sql)
      {
       $res=mysql_query($sql) or die($this->error());
       return $res;
      }
      function fetch_array($res)
      {
       return mysql_fetch_array($res);
      }
      function fetch_object($res)
      {
       return mysql_fetch_object($res);
      }
      function fetch_obj_arr($sql)
      {
       $obj_arr=array();
       $res=$this->query($sql);
       while($row=mysql_fetch_object($res))
       {
        $obj_arr[]=$row;
       }
       return $obj_arr;
      }
      function error()
      {
       if($this->linkflag)
       {
        return mysql_error($this->linkflag);
       }
       else return mysql_error();
      }
      function errno()
      {
       if($this->linkflag)
       {
        return mysql_errno($this->linkflag);
       }
       else return mysql_errno();
      }
      function affected_rows()
      {
       return mysql_affected_rows($this->linkflag);
      }
      function num_rows($sql)
      {
       $res=$this->execute($sql);
       return mysql_num_rows($res);
      }
      function num_fields($res)
      {
       return mysql_num_fields($res);
      }
      function insert_id()
      {
       $previous_id=mysql_insert_id($this->linkflag);
       return $previous_id;
      }
      function result($res,$row,$field=null)
      {
       if($field===null)
       {
        $res=mysql_result($res,$row);
       }
       else $res=mysql_result($res,$row,$field);
       return $res;
      }
      function version()
      {
       return mysql_get_server_info($this->linkflag);
      }
      function data_seek($res,$rowNum)
      {
       return mysql_data_seek($res,$rowNum);
      }
      function __destruct()
      {
       //mysql_close($this->linkflag);
      }
     }
    ?>

希望本文所述对大家的php程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例