php 数据库操作基础类DBObject Class的用法示例

PHP 数据库操作基础类DBObject Class,感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

/**
 * 数据库操作基础类DBObject Class
 *
 * @param 
 * @arrange (编程之家) jb51.cc
 **/
/* WORKS IN PHP5 ONLY */
 class DBObject
 {
  private $id;
  private $id_field;
  private $table_name;
  private $fields = array();
 
  function __construct($table_name,$id_field,$fields)
  {
   $this->table_name = $table_name;
   $this->id_field = $id_field;
 
   foreach($fields as $key)
    $this->fields[$key] = null;
  }
 
  function __get($key)
  {
   return $this->fields[$key];
  }
 
  function __set($key,$value)
  {
   if(array_key_exists($key,$this->fields))
   {
    $this->fields[$key] = $value;
    return true;
   }
   return false;
  }
 
  function select($id)
  {
   global $db;
 
   $db->query(SELECT * FROM  . $this->table_name .  WHERE  . $this->id_field .  = '$id');
   if(MysqL_num_rows($db->result) == 0)
    return false;
   else
   {
    $this->id = $id;
    $row = MysqL_fetch_array($db->result,MysqL_ASSOC);
    foreach($row as $key => $val)
     $this->fields[$key] = $val;
   }
  }
 
  function insert()
  {
   global $db;
 
   unset($this->fields[$this->id_field]);
   $fields = join(,,array_keys($this->fields));
   $values = ' . join(',',$this->fields) . ';
 
   $db->query(INSERT INTO  . $this->table_name .  ($fields) VALUES ($values));
 
   $this->id = MysqL_insert_id($db->db);
   return $this->id;
  }
 
  function update()
  {
   global $db;
 
   unset($this->fields[$this->id_field]);
   $arrStuff = array();
   foreach($this->fields as $key => $val)
    $arrStuff[] = $key = '$val';
   $stuff = implode(,$arrStuff);
 
   $db->query(UPDATE  . $this->table_name .  SET $stuff WHERE  . $this->id_field .  = ' . $this->id . ');
   return MysqL_affected_rows($db->db); // Not always correct due to MysqL update bug/feature
  }
 
  function delete()
  {
   global $db;
   $db->query(DELETE FROM  . $this->table_name .  WHERE  . $this->id_field .  = ' . $this->id . ');
   return MysqL_affected_rows($db->db);
  }
 
  function empty_table()
  {
   global $db;
   $db->query(DELETE FROM  . $this->table_name);
  }
 }
 
// 
//  class Person extends DBObject 
//  {
//   function __construct()
//   {
//    parent::__construct('person','person_id',array('name','eye_color','hair_color'));
//   }
//  }
//


/***   来自编程之家 jb51.cc(jb51.cc)   ***/

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...