2008
09-8
09-8
DB.InterFace.php
- <?php
- /* DB.InterFace.php
- * DB
- * @link http://www.sunboyu.cn
- * @package OA
- * @version V1.0
- *
- * 2008 08 28 sunboyu@gmail.com
- * Demo
- */
- interface DateBaseConnect
- {
- #数据库连接
- public function Connect( $host , $user , $pass , $datebase );
- #使用数据库
- public function selectDateBase( $datebase );
- #执行一个查询
- public function Query( $sql );
- #取得一行
- public function fetchRow( $sql );
- #取得所有
- public function fetchAll( $sql );
- #取得影响行数
- public function affectedRow();
- #取得结果行数
- public function recordCount();
- #取得上次插入ID
- public function insertID();
- #释放资源
- public function close();
- }
- ?>
DB.Mysql.Class.php
- <?php
- /* DB.Mysql.Class.php
- * Mysql
- * @link http://www.sunboyu.cn
- * @package OA
- * @version V1.0
- *
- * 2008 08 28 sunboyu@gmail.com
- * Demo
- */
- require_once(ROOT."/Include/Class/DB.InterFace.php");
- class Mysql implements DateBaseConnect
- {
- #连接标识
- public $handle = false;
- #结果标识
- public $query;
- #查询次数
- public $exetime;
- #数据库连接
- public function Connect( $host , $user , $pass , $datebase )
- {
- $this->handle = @mysql_connect( $host , $user , $pass , false ) or die("Can't connetc to the DateBse.".mysql_error());
- $this->selectDateBase( $datebase );
- $this->exetime = 0;
- }
- #使用数据库
- public function selectDateBase( $datebase )
- {
- @mysql_select_db( $datebase , $this->handle ) or die("Can't select the DateBase".mysql_error());
- }
- #执行一个查询
- public function Query( $sql )
- {
- $this->query = mysql_query( $sql , $this->handle ) or die("query error".mysql_error());
- $this->exetime++;
- return true;
- }
- #取得一行
- public function fetchRow( $sql )
- {
- $this->Query( $sql );
- while( $row = mysql_fetch_array( $this->query, MYSQL_ASSOC ) )
- {
- return $row;
- }
- return false;
- }
- #取得所有
- public function fetchAll( $sql )
- {
- $this->Query( $sql );
- $rows = false;
- while( $rs = mysql_fetch_array( $this->query, MYSQL_ASSOC ) )
- {
- $rows[] = $rs;
- }
- return $rows;
- }
- #取得影响行数
- public function affectedRow()
- {
- return mysql_affected_rows( $this->query );
- }
- #取得结果行数
- public function recordCount()
- {
- return mysql_num_rows( $this->query );
- }
- #取得上次插入ID
- public function insertID()
- {
- return (mysql_insert_id()>0) ? mysql_insert_id() : false;
- }
- #释放资源
- public function close()
- {
- @mysql_close( $this->handle );
- }
- #析构函数
- /*
- function __destruct()
- {
- $this->close();
- }
- */
- }
- ?>
DB.Mysql.Fact.Class.php
- <?php
- /* DB.Mysql.Fact.Class.php
- * Mysql
- * @link http://www.sunboyu.cn
- * @package OA
- * @version V1.0
- *
- * 2008 08 28 sunboyu@gmail.com
- * Demo
- */
- require_once(ROOT."/Include/Class/DB.Mysql.Class.php");
- class DB extends Mysql
- {
- #插入操作
- /*
- $array = array(
- 'name' = "sunboyu",
- 'pass' = "123456"
- );
- */
- function __insert( $array , $table )
- {
- $sql = "INSERT INTO {$table} (";
- if(!is_array($array))
- {
- die('the array is not a array!');
- }
- $keys = array_keys( $array );
- $sql .= implode( ',' , $keys );
- $sql .= ") VALUES (";
- foreach( $array as $key=>$value )
- {
- if(is_int( $array[$key] ))
- {
- $sql .= $array[$key];
- }
- else if(is_string( $array[$key] ))
- {
- $sql .= "'{$array[$key]}'";
- }
- $sql .= ",";
- }
- $sql = substr_replace( $sql , "" , -1 );
- $sql .= ")";
- return $this->Query( $sql );
- }
- }
- ?>