thinkphp如何查看方法自動sql生成的sql語句

在thinkphp中,我們怎麼查看sql語句呢?首先得開啓調試模式,大多數在部署項目之前都要開啓調試模式的,在入口文件中設置define('APP_DEBUG',True);即可。

在模型操作中 ,爲了更好的查明錯誤,經常需要查看下最近使用的sql語句,我們可以用getLastsql(3.2可以使用簡化的_sql())方法來輸出上次執行的sql語句。例如:

	$Form   =   M('Form');
       // 讀取數據
       $data =   $Form->find(1);
  	echo $Form->getLastSql();
       //3.2版本中可以使用簡化的方法
	echo $Form->_sql();
輸出結果是 SELECT * FROM think_form WHERE id = 1。
我們要知道的是,每個模型都使用獨立的最後SQL記錄,互不干擾,但是可以用空模型的getLastSql方法獲取全局的最後SQL記錄。

$User = M("User"); // 實例化模型
$Form = M('Form');
$User->find(1);
$Form->find(2);
echo M()->getLastSql();//空模型
echo $User->getLastSql();
echo $Form->getLastSql();
輸出結果是:
SELECT * FROM think_form WHERE id = 2
SELECT * FROM think_user  WHERE id = 1
SELECT * FROM think_form  WHERE id = 2
需要注意的是,getLastSql方法只能獲取最後執行的sql記錄,如果需要了解更多的SQL日誌,可以通過查看當前的頁面Trace或者日誌文件。


發佈了33 篇原創文章 · 獲贊 27 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章