本文實(shí)例講述了PHP簡(jiǎn)單數(shù)據(jù)庫(kù)操作類(lèi)。分享給大家供大家參考,具體如下:
在進(jìn)行項(xiàng)目開(kāi)發(fā)時(shí),數(shù)據(jù)庫(kù)是必不可少的東西了。但是很多時(shí)候卻又對(duì)數(shù)據(jù)庫(kù)SQL語(yǔ)句的繁雜而感到頭疼。提供一個(gè)我自己使用的數(shù)據(jù)庫(kù)操作類(lèi)(模型Model),供大家使用。支持增、刪、改、查,支持鏈?zhǔn)讲僮鳎a不到100行,非常小巧方便,很適合小項(xiàng)目的快速部署使用。
/**** @Authot: summer** @E-mail: wenghang1228@me.com** @Data: 2015-02-06** @Project: 數(shù)據(jù)庫(kù)操作類(lèi)Model** @Version:1.0** @版權(quán)所有:夏天的風(fēng)————記錄夏天對(duì)技術(shù)的追求與生活的熱愛(ài)** @網(wǎng)址: http://www.xtwind.com**/class Model{ public $field; public $tabname; public $where; public $order; public $limit; //構(gòu)造函數(shù),鏈接數(shù)據(jù)庫(kù),給表賦值 function __construct($tabname){ mysql_connect(HOST,USER,PASSWORD); mysql_select_db(DBNAME); mysql_query("set names utf8"); $this->tabname=$tabname; } //組合字段 function field($field){ $this->$field=$field; return $this; } //組合where條件 function where($where){ $this->where="where ".$where; return $this; } //組合order排序條件 function order($order){ $this->order="order by ".$order; return $this; } //組合limit限制條數(shù) function limit($limit){ $this->limit="limit ".$limit; return $this; } //組合和執(zhí)行select語(yǔ)句 function select($all=""){ if ($all) { $sql="select {$all} from {$this->tabname} order by id"; }else{ $sql="select {$this->filed} from {$this->tabname} {$this->where} {$this->order} {$this->limit}"; } $rst=mysql_query($sql); while ($row=mysql_fetch_assoc($rst)) { $rows[]=$row; } return $rows; } //組合和執(zhí)行insert語(yǔ)句 function insert($post){ //數(shù)據(jù)庫(kù)插入操作,接收數(shù)組 foreach ($post as $key => $value) { $keys[]=$key; $vals[]="'".$valu."'"; } $keyStr=join(",",$keys); $valStr=join(",",$vals); $sql="insert into {$this->tabname}($keystr) values()"; if (mysql_query($sql)) { return mysql_insert_id(); }else{ return false; } } //組合和執(zhí)行delect語(yǔ)句 function delect(){ $sql="delect from {$this->tabname} {$this->where}"; if (mysql_query($sql)) { return mysql_affected_rows(); }else{ return false; } } //組合和執(zhí)行updata語(yǔ)句 function update($post){ foreach ($psot as $key => $value) { $sets[]="{$key}='{$val}'"; } $setStr=join(",",$sets); $sql="update {$this->tabname} set {$setStr} {$this->where} "; if (mysql_query($sql)) { return mysql_affected_rows(); }else{ return false; } } //從表中取一行數(shù)據(jù) function find(){ if ($this->order) { $sql="select * from {$this->tabname} {$this->order} limit 1"; }else{ $sql="select * from {$this->tabname} order by id limit 1"; } $rst=mysql_query($sql); while ($row=mysql_fetch_assoc($rst)) { $rows[]=$row; } return $rows; } //獲取總行數(shù) function total(){ $sql="select count(*) from {$this->tabname}"; $rst=mysql_query($sql); if ($rst) { $row=mysql_fetch_row($rst); return $row[0]; }else{ return false; } }}//Model類(lèi)對(duì)象工廠function M($tabname){ return new Model($tabname);}define("HOST","localhost");define("USER", "root");define("PASSWORD", "123456");define("DBNAME", "test")$user=new Model("user");$user->field("id,name")->where("id=3")->order("id desc")->limit("3")->select();完整實(shí)例代碼點(diǎn)擊此處本站下載。
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選