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

yipeiwu_com6年前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程序设计有所帮助。

相关文章

使用Linux五年积累的一些经验技巧

1. bash中的$相关参数 复制代码 代码如下:$0 - 表示当前文件名  $* - 以空格分离所有参数,形成一个字符串  $@ - 以空格分离所有参数,形成一个字...

PHP实现字节数Byte转换为KB、MB、GB、TB的方法 原创

PHP实现字节数Byte转换为KB、MB、GB、TB的方法 原创

本文实例讲述了PHP实现字节数Byte转换为KB、MB、GB、TB的方法。分享给大家供大家参考,具体如下: 前面介绍了java实现字节数Byte转换为KB、MB、GB、TB的方法 ,这里...

php生成随机密码的几种方法

随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法,以供大家参考。 方法一:      1、在 33 – 1...

浅析application/x-www-form-urlencoded和multipart/form-data的区别

在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。 下边是说明: application/x-www-for...

php lcg_value与mt_rand生成0~1随机小数的效果对比分析

php lcg_value与mt_rand生成0~1随机小数的效果对比分析

因工作需要使用php生成0~1随机小数,之前写过一篇《php生成0~1随机小数方法》,基于mt_rand()及mt_getrandmax()实现。 后来有网友评论,php原生方法lcg_...