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

内容摘要
这篇文章主要为大家详细介绍了php 数据库操作基础类DBObject Class的用法示例,具有一定的参考价值,可以用来参考一下。

php 数据库操作基础类DBObject Class,对此感兴趣的朋友
文章正文

这篇文章主要为大家详细介绍了php 数据库操作基础类DBObject Class的用法示例,具有一定的参考价值,可以用来参考一下。

php 数据库操作基础类DBObject Class,对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:

/**
 * 数据库操作基础类DBObject Class
 *
 * @param 
 * @arrange (www.idcnote.com)
 **/
/* 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'));
//   }
//  }
//


/***   来自php教程(www.idcnote.com)   ***/

注:关于php 数据库操作基础类DBObject Class的用法示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!