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

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

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 "
你所调用的方法 $function_name 不存在
\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实现比较全的数据库操作类)