這篇文章介紹了thinkphp中fetchSql方法的使用,具有一定的參考價值,希望對學習thinkphp的朋友有幫助!
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版本之後使用。
如圖為ThinkPHP3.2.3先前版本的手冊
去控制器測試:
//fetchSql方法 public function test(){ //实例化模型 $model = M('Dept'); //fetchSql方法 $result = $model -> group('name') -> field('name,count(*)') -> fetchSql(true) -> select(); //打印 dump($result); }
顯示結果:
sql追蹤訊息中的結果:
#當sql語句錯誤時:
//fetchSql方法 public function test(){ //实例化模型 $model = M('Dept'); //fetchSql方法 $result = $model -> group('name') -> field('name,count(*,,,,,,,//)') -> fetchSql(true) -> select(); //打印 dump($result); }
顯示結果:
sql追蹤資訊中的結果:
#說明:透過追蹤資訊和傳回值,我們可以發現,使用fetchSql之後原有的連貫操作沒有被執行,而是直接將連貫操作的語法組成的sql語句給回傳。
(推薦教學:thinkphp教學)
以上是ThinkPHP中的fetchSql方法的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!