首頁 >php框架 >ThinkPHP >ThinkPHP中的fetchSql方法的使用

ThinkPHP中的fetchSql方法的使用

angryTom
angryTom轉載
2020-03-28 17:08:433318瀏覽

這篇文章介紹了thinkphp中fetchSql方法的使用,具有一定的參考價值,希望對學習thinkphp的朋友有幫助!

ThinkPHP中的fetchSql方法的使用

ThinkPHP中的fetchSql方法的使用

#前面我們學習了一個sql偵錯的方法getLastSql方法或是別名為_sql ()的方法,但是這個方法要求獲取最後一條成功執行的sql語句,所以如果拿這個方法去調試sql只能夠調試邏輯錯誤,並不能拿來調試語法錯誤,所以在ThinkPHP3.2.3之後新增了一個調試sql的方法:fetchSql();

語法:

$model -> where() -> limit() -> ...->order() -> fetchSql(true) ->CURD操作;

注意:FetchSql方法使用的時候可以完全看作是輔助方法,所以要求必須在model之後,在CURD操作之前,順序無所謂。 FetchSql方法只能在ThinkPHP3.2.3版本之後使用。

ThinkPHP中的fetchSql方法的使用

如圖為ThinkPHP3.2.3先前版本的手冊

去控制器測試:

    //fetchSql方法
    public function test(){
        //实例化模型
        $model = M('Dept');
        //fetchSql方法
        $result = $model -> group('name') -> field('name,count(*)') -> fetchSql(true) -> select();
        //打印
        dump($result);
    }

顯示結果:

ThinkPHP中的fetchSql方法的使用

sql追蹤訊息中的結果:

ThinkPHP中的fetchSql方法的使用

#當sql語句錯誤時:

    //fetchSql方法
    public function test(){
        //实例化模型
        $model = M('Dept');
        //fetchSql方法
        $result = $model -> group('name') -> field('name,count(*,,,,,,,//)') -> fetchSql(true) -> select();
        //打印
        dump($result);
    }

顯示結果:

ThinkPHP中的fetchSql方法的使用

sql追蹤資訊中的結果:

ThinkPHP中的fetchSql方法的使用

#說明:透過追蹤資訊和傳回值,我們可以發現,使用fetchSql之後原有的連貫操作沒有被執行,而是直接將連貫操作的語法組成的sql語句給回傳。

(推薦教學:thinkphp教學

以上是ThinkPHP中的fetchSql方法的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除