PHP模型Model類封裝數(shù)據(jù)庫操作示例_第1頁
PHP模型Model類封裝數(shù)據(jù)庫操作示例_第2頁
PHP模型Model類封裝數(shù)據(jù)庫操作示例_第3頁
PHP模型Model類封裝數(shù)據(jù)庫操作示例_第4頁
PHP模型Model類封裝數(shù)據(jù)庫操作示例_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第PHP模型Model類封裝數(shù)據(jù)庫操作示例*@paramstring$sql要執(zhí)行的SQL語句

*@returnbool|int|string添加成功則返回上一次操作id,刪除修改操作則返回true,失敗則返回false

publicfunctionexec($sql)

$result=mysqli_query($this-link,$sql);

//處理結(jié)果集

if($resultmysqli_affected_rows($this-link)0){

//判斷是否為添加操作,是則返回上一次執(zhí)行的id

if(mysqli_insert_id($this-link)){

returnmysqli_insert_id($this-link);

//刪除修改操作成功則返回true

returntrue;

}else{

//未執(zhí)行成功則返回false

returnfalse;

*查詢多條數(shù)據(jù)

publicfunctionselect()

$sql="select{$this-field}from{$this-tableName}{$this-where}{$this-order}{$this-limit}";

//執(zhí)行并發(fā)送SQL

return$this-query($sql);

*查詢一條數(shù)據(jù)

*@paramstring$id要查詢的id

*@returnarray返回一條數(shù)據(jù)

publicfunctionfind($id="")

//判斷id是否存在

if(empty($id)){

$where=$this-where;

}else{

$where="whereid={$id}";

$sql="select{$this-field}from{$this-tableName}{$where}limit1";

//執(zhí)行并發(fā)送sql

$result=$this-query($sql);

//返回一條數(shù)據(jù)

return$result[0];

*設置要查詢的字段信息

*@paramstring$field要查詢的字段

*@returnobject返回自己,保證連貫操作

publicfunctionfield($field)

//判斷字段是否存在

if(empty($field)){

return$this;

$this-field=$field;

return$this;

*統(tǒng)計總條數(shù)

*@returnint返回總數(shù)

publicfunctioncount()

//準備SQL語句

$sql="selectcount(*)astotalfrom{$this-tableName}limit1";

$result=$this-query($sql);

//返回總數(shù)

return$result[0]['total'];

*添加操作

*@paramarray$data要添加的數(shù)組

*@returnbool|int|string添加成功則返回上一次操作的id,失敗則返回false

publicfunctionadd($data){

//判斷是否是數(shù)組

if(!is_array($data)){

return$this;

//判斷是否全是非法字段

if(empty($data)){

die("非法數(shù)據(jù)");

//過濾非法字段

foreach($dataas$k=$v){

if(!in_array($k,$this-allFields)){

unset($data[$k]);

//將數(shù)組中的鍵取出

$keys=array_keys($data);

//將數(shù)組中取出的鍵轉(zhuǎn)為字符串拼接

$key=implode(",",$keys);

//將數(shù)組中的值轉(zhuǎn)化為字符串拼接

$value=implode("','",$data);

//準備SQL語句

$sql="insertinto{$this-tableName}({$key})values('{$value}')";

//執(zhí)行并發(fā)送SQL

return$this-exec($sql);

*刪除操作

*@paramstring$id要刪除的id

*@returnbool刪除成功則返回true,失敗則返回false

publicfunctiondelete($id="")

//判斷id是否存在

if(empty($id)){

$where=$this-where;

}else{

$where="whereid={$id}";

$sql="deletefrom{$this-tableName}{$where}";

echo$sql;

//執(zhí)行并發(fā)送

return$this-exec($sql);

*修改操作

*@paramarray$data要修改的數(shù)組

*@returnbool修改成功返回true,失敗返回false

publicfunctionupdate($data){

//判斷是否是數(shù)組

if(!is_array($data)){

return$this;

//判斷是否是全是非法字段

if(empty($data)){

die("非法數(shù)據(jù)");

$str="";

//過濾非法字段

foreach($dataas$k=$v){

if($k=="id"){

$where="whereid={$v}";

unset($data[$k]);

if(in_array($k,$this-allFields)){

$str.="{$k}='{$v}',";

}else{

unset($data[$k]);

//判斷是否有條件

if(empty($this-where)){

die("請輸入條件");

//去掉最右側(cè)的逗號

$str=rtrim($str,",");

$sql="update{$this-tableName}set{$str}{$this-where}";

return$this-exec($sql);

*where條件

*@paramstring$where輸入的where條件

*@return$this返回自己,保證連貫操作

publicfunctionwhere($where)

$this-where="where".$where;

return$this;

*order排序條件

*@paramstring$order以此為基準進行排序

*@return$this返回自己,保證連貫操作

publicfunctionorder($order)

$this-order="orderby".$order;

return$this;

*limit條件

*@paramstring$limit輸入的limit條件

*@return$this返回自己,保證連貫操作

publicfunctionlimit($limit)

$this-limit="limit".$limit;

return$this;

*析構(gòu)方法

*關閉數(shù)據(jù)庫連接

publicfunction__destruct()

mysqli_cl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論