首頁  >  文章  >  後端開發  >  ThinkPHP中資料庫操作回傳值的相關內容總結

ThinkPHP中資料庫操作回傳值的相關內容總結

jacklove
jacklove原創
2018-06-15 14:01:373016瀏覽

轉載自:ThinkPHP中資料庫操作回傳值總結

關鍵字:   Thinkphp,傳回值,資料庫操作,select回傳值,add回傳值,setDec回傳值

#Thinkphp中的Think\Model類別提供了資料庫的基本CURD(Create、Update、Read及Delete),透過該類別可以很便捷的進行操作。
Model類別及擴充類別主要的方法有:

  1. Create運算:
    create()(非連結) 、add()、addAll()
    支援的鍊式操作有:
    table 、data、field 、relation 、validate、auto 、filter、scope 、bind 、token 、comment

  2. Update操作
    save( )、setField()、setInc()、setDec()
    支援的鍊式操作有:
    where、table 、alias、field、order、lock 、relation 、scope 、bind 、comment

  3. Read運算
    find()、select()、getField()、Count 、Max、Min 、Avg 、Sum
    支援的鍊式運算有:
    where 、table 、 alias 、field 、order、group 、having 、join 、union 、distinct、lock、cache 、relation 、result 、scope 、bind 、comment

  4. Delete操作
    delete()
    支援的鍊式操作有:
    where 、table 、alias 、order、lock 、relation 、scope 、bind 、comment

這些方法的可能的回傳值有false /true/一位數組/二維數組/numeric(數字)/null/類別本身的實例,現在就總結如下:

1、鍊式操作:

所以鍊式操作都會傳回Model類別的實例,即可以使用此回傳值繼續呼叫實例方法。

$User=M("User");
$U1=$User->$where("id = 1");//$U1可以继续调用其他方法。
$result=$U1->select();
//-------一般情况下没有必要这样,下面一句代码即可实现
$result=M("User")->$where("id = 1")->select();

2、Create操作

create 傳回值:

若發生錯誤,傳回false;

成功則傳回已建立的資料
#create為非鍊式操作,傳回值為可能為布林值,所以操作時要進行嚴格判斷:

$User = M("User");
if($User->create()){
//进行更多操作
}

add 傳回值,addAll 傳回值

    1. 成功:如果主鍵是自動增長型,回傳值為新增記錄Id值(addAll為最大值),否則回傳true;

    2. 發生錯誤回傳false;

3、update操作

  • save 回傳值(setField、setInc、setDec最後呼叫的都是save方法,所以回傳值與save一致):
    save 傳回值是影響的記錄數(有可能為0),更新出錯傳回false,因此一定要用恆等來判斷是否更新失敗。

4、read操作

  1. find 回傳值
    如果查詢出錯,find的回傳值為false
    如果查詢結果為空傳回NULL,查詢成功則傳回一個關聯數組(鍵值是欄位名稱或別名)。

  2. select 傳回值
    如果查詢出錯,select的回傳值是false,
    如果查詢結果為空,則傳回NULL,否則傳回二維陣列。

  3. getField 傳回值

    1. #getField($field):$field為一個欄位,傳回資料庫中該欄位的第一行的值

    2. getField($field,true):$field為一個欄位,傳回包含該欄位的一維陣列

    3. getField ($fields):$fields為兩個字段(以“,”隔開),返回array($field1=>$field2)的數組;若$field為多個字段,則返回類似select的多維數組,鍵名為field1。

    4. getField($fields,”:”):$field為多個欄位,傳回類似array($field1=>”$field2:$field3”)的陣列

    5. 如果查詢出錯,getField的回傳值為false

    6. #查詢成功:

  4. Count 、Max、Min 、Avg 、Sum回傳值
    如果查詢出錯,回傳值為false
    查詢成功,則傳回對應的值

  • #delete 回傳值:成功則傳回true,查詢錯誤則回傳false

    本文解說了ThinkPHP中資料庫操作回傳值的相關內容總結,更多相關內容請關注php中文網。

    相關推薦:

    #

關於thinkphp基底類別的相關內容

ThinkPHP用戶登入註冊相關程式碼案例

關於thinkphp5的資料庫操作



##

以上是ThinkPHP中資料庫操作回傳值的相關內容總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn