thinkphp中怎樣輸出sql語句
$User = M("User"); // 實例化User對象$User->find(1);echo $User->getLastSql();// 3.2版本中可以使用簡化的方法echo $User->_sql();輸出結果是 SELECT * FROM think_user WHERE id = 1 并且每個模型都使用獨立的最后SQL記錄,互不干擾,但是可以用空模型的getLastSql方法獲取全局的最后SQL記錄。
$User = M("User"); // 實例化User模型$Info = M("Info"); // 實例化Info模型$User->find(1);$Info->find(2);echo M()->getLastSql();echo $User->getLastSql();echo $Info->getLastSql();輸出結果是 SELECT * FROM think_info WHERE id = 2SELECT * FROM think_user WHERE id = 1SELECT * FROM think_info WHERE id = 2。
php怎么獲取上一條執行的sql語句
原生代碼不支持獲取上一次執行的sql語句,ThinkPHP用getLastSql()函數獲取的,代碼如下:
class UserModel extends Model(BaseModel){
public function test($data){
$model = M('user');
$model->add($data);
$sql = $model->getLastSql();
} TP還有一種種方法就是直接用_sql,這個更方便!
1.
$model->_sql();方法實際執行的就是
2.
$model->getLastSql();用_sql注意中文亂碼問題,相來說還是getlastsql比較快,_有時候會因為中文編碼出錯
至于大小寫的問題根本不存在 php不區分這些大小寫的。
轉載請注明出處華閱文章網 » thinkphp最后一條sql語句