乙個PHP資料庫基類

2021-07-10 02:46:55 字數 3291 閱讀 9516

<?php

/** * description of framedao

* 資料庫dao基類

* * for example

* ~~~~~~~

* 有乙個user表

* create table `user` (

`id` int(10) unsigned not null auto_increment,

`name` varchar(255) not null default '',

`age` tinyint(3) unsigned not null default '0',

primary key (`id`)

) engine=innodb default charset=utf8;

* * 建立乙個userdao類

* class userdao extends framedao

} *

* 單條語句插入

* $res = userdao::insert(['name'=>'zhangsan']);

* return : 自增id

* * 多條語句插入:

* $res = userdao::batchinsert(array('id','name'),array(

* array('16','lisi'),

* array('17','wangwu'),

* ));

* return: 影響的行數

* * 修改:

* $res = userdao::update(array(

* 'name'=>'liuliu'

* ),['id'=>17]);

* return: 受影響的行數

* * 刪除:

* $res = userdao::delete(['id'=>17]);

* * 查詢一行記錄

* $res = userdao::queryrow(1); //根據主鍵id查詢

* $res = userdao::queryrow(['name'=>'zhangjiulong']); //根據條件查詢

* return: 一維關聯陣列

* ['id'=>1,'name'=>'zs','age'=>20]

* * 查詢多行記錄

* $res = userdao::queryall(['id'=>[1,2,3]]); //查詢id in (1,2,3)

* $res = userdao::queryall(['name'=>'zhangjiulong','age'=>4]); //查詢年齡4歲,名字為zhangjiulong的使用者

* * 複雜的查詢請獲取framequery之後用query物件操作

* $query = userdao::find();

* * ~~~~~~

* */

abstract class basedao extends frameobject

/*** 執行一條插入語句

*@param array $columns

*@param boolean $return_id 是否要返回自增id,預設為true,false則返回影響的行數

*@return int 受影響的行數

*/static

public function insert($columns, $return_id = true)

/*** 執行多條語句的插入

*@param array $columns

*@param array $rows

*@return int

*/static

public function batchinsert($columns, $rows)

/*** 執行資料更新

*@param array $columns

*@param string|array $condition

*@param array $params

*@return int

*/static

public function update($columns, $condition = '', $params = )

/*** 執行資料刪除

*@param string|array $condition

*@param array $params

*@return int

*/static

public function delete($condition = '', $params = )

/*** 獲取一行資訊

*@param int|array $param

*@param array|string $select 要取出來的字段

*@return array

*/static

public function queryrow($param, $select = '*')

else

return $query->queryrow();

}/**

* 返回多行記錄

*@param array $param

*@param array|string $select 要取出來的字段

*@return array

*/static

public function queryall(array $param = , $select = '*')

/*** 取一列資料

*@param string $select 要取的字段

*@param array $param 條件

*@return array

*/static

public function querycolumn($select, $param = )

/*** 取第一行第一列的值

*@param mixed $select

*@param array $param

*@return string

*/static

public function queryone($select,$param=)

/*** 返回當前dao的表名

*/abstract

static

public function tablename();

/*** 返回當前dao的主鍵名

*@return string

*/static

public function primarykey()

}

資料庫的邏輯層類,用乙個基類進行實現

using system using system.collections.generic using system.linq using system.text using system.data using system.data.sqlclient using system.configura...

資料庫操作基類

using system using system.componentmodel using system.collections using system.diagnostics using system.data using system.data.sqlclient using system....

用單例模式來設計乙個PHP資料庫類

class nmdb private function clone public static function get class nmdb host,username,password return self instance 連線資料表 public function select db da...