日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php面向对象之单表操作类

發(fā)布時(shí)間:2023/11/29 php 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php面向对象之单表操作类 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
<?php //數(shù)據(jù)庫(kù)單表操作類 define("HOST","localhost"); define("USER","root"); define("PASS",""); define("DBNAME","lamp78"); class Db {protected $link; //連接資源protected $tablename; //表名protected $pk='id'; //主鍵字段名protected $fields=array(); //當(dāng)前表的字段信息protected $where=array();//封裝搜索條件屬性protected $order=null; //排序?qū)傩詐rotected $limit=null; //分頁(yè)屬性(獲取部分?jǐn)?shù)據(jù))public function __construct($tablename){$this->tablename = $tablename;// 數(shù)據(jù)庫(kù)連接$this->link=@mysql_connect(HOST,USER,PASS) or die('數(shù)據(jù)庫(kù)連接失敗!');mysql_set_charset("utf8");mysql_select_db(DBNAME,$this->link);//獲取當(dāng)前表的結(jié)構(gòu)和主鍵名$this->getFields();}//私有方法,加載當(dāng)前表中的所有字段信息private function getFields(){$sql = "desc {$this->tablename}";$result = mysql_query($sql,$this->link);//解析表結(jié)構(gòu)信息while($row = mysql_fetch_assoc($result)){$this->fields[]=$row['Field']; //獲取字段名//判斷并獲取主鍵名if($row['Key']=="PRI"){$this->pk = $row['Field'];}}mysql_free_result($result);}//封裝各種條件或獲取所有對(duì)應(yīng)數(shù)據(jù)信息public function select(){$list = array();//拼裝sql語(yǔ)句$sql ="select * from {$this->tablename}";//判斷并封裝where條件if(count($this->where)>0){$sql.=" where ".implode(" and ",$this->where);}//判斷并封裝order排序條件if($this->order){$sql.=" order by ".$this->order;}//判斷并封裝分頁(yè)條件if($this->limit){$sql.=" limit ".$this->limit;}//執(zhí)行查詢,獲取數(shù)據(jù)。$result = mysql_query($sql,$this->link);echo $sql;//解析結(jié)果集while($row = mysql_fetch_assoc($result)){$list[]=$row;}mysql_free_result($result); //釋放結(jié)果集return $list;}//獲取封裝條件的總數(shù)據(jù)條數(shù)public function total(){$list = array();//拼裝sql語(yǔ)句$sql ="select count(*) from {$this->tablename}";//判斷并封裝where條件if(count($this->where)>0){$sql.=" where ".implode(" and ",$this->where);}//執(zhí)行查詢,獲取數(shù)據(jù)。$result = mysql_query($sql,$this->link);return mysql_result($result,0,0);}//獲取所有數(shù)據(jù)public function findAll(){ $list = array();//拼裝sql語(yǔ)句$sql ="select * from {$this->tablename}";//執(zhí)行查詢,獲取數(shù)據(jù)。$result = mysql_query($sql,$this->link);//解析結(jié)果集while($row = mysql_fetch_assoc($result)){$list[]=$row;}mysql_free_result($result); //釋放結(jié)果集return $list;}/*** 獲取指定id號(hào)的單條數(shù)據(jù)信息* @param int id 獲取信息的主鍵id值。* @return array 返回值,找到數(shù)據(jù)則返回?cái)?shù)組,否則返回null*/public function find($id){$sql = "select * from {$this->tablename} where {$this->pk}={$id}";//執(zhí)行查詢$result = mysql_query($sql,$this->link);//判斷是有信息if($result && mysql_num_rows($result)>0){return mysql_fetch_assoc($result);}else{return null;}}//執(zhí)行刪除public function delete($id){$sql = "delete from {$this->tablename} where {$this->pk}={$id}";//執(zhí)行刪除mysql_query($sql,$this->link);//返回影響行數(shù)return mysql_affected_rows($this->link);}//執(zhí)行信息添加public function insert($data=array()){//判斷參數(shù)是否有值,若沒(méi)有則嘗試從post自己獲取if(empty($data)){$data = $_POST;}//過(guò)濾所有字段$fieldlist = array();$valuelist = array();foreach($data as $k=>$v){//判斷是否是有效字段if(in_array($k,$this->fields)){$fieldlist[] = $k;$valuelist[] = $v;}}//拼裝sql語(yǔ)句$sql = "insert into {$this->tablename}(".implode(",",$fieldlist).") values('".implode("','",$valuelist)."')";echo $sql;//執(zhí)行添加mysql_query($sql,$this->link);//返回自增信息return mysql_insert_id($this->link);}//執(zhí)行信息修改public function update($data=array()){//判斷參數(shù)是否有值,若沒(méi)有則嘗試從post自己獲取if(empty($data)){$data = $_POST;}//過(guò)濾所有字段$fieldlist = array();foreach($data as $k=>$v){//判斷是否是有效字段if(in_array($k,$this->fields) && $k!=$this->pk){$fieldlist[] = "{$k}='{$v}'";}}//拼裝sql語(yǔ)句$sql = "update {$this->tablename} set ".implode(",",$fieldlist)." where {$this->pk}=".$_POST[$this->pk];echo $sql;//執(zhí)行添加mysql_query($sql,$this->link);//返回自增信息return mysql_insert_id($this->link);}//封裝搜索條件方法public function where($data){$this->where[]=$data;return $this;}//封裝排序方法public function order($data){$this->order=$data;return $this;}//封裝分頁(yè)方法public function limit($m,$n=0){if($n>0){$this->limit = $m.",".$n;}else{$this->limit = $m;}return $this;} }


轉(zhuǎn)載于:https://blog.51cto.com/2262805/1394400

總結(jié)

以上是生活随笔為你收集整理的php面向对象之单表操作类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。