你知道這種開發模式能更好的幫你排錯嗎?

很多時候我們在開發一個項目的時候寫著寫著sql語句報錯了?(這裡多指使用框架開發,當然也有原聲sql語句),之後有時候會扎耳撓腮,看來看去都感覺自己的sql語句沒有問題,其實這往往就降低了我們的開發效率

你知道這種開發模式能更好的幫你排錯嗎?

(1)針對原聲sql語句當然就比較好解決了,當然有時候我們寫程序的時候程序就已經告訴你了sql語句是否有問題,這樣當然就更好了,如果不報錯的話,我們可以將我們的sql語句粘貼到mysql的管理器中,比如導航貓(相信大家都知道的可視化客戶端),還有就是網頁版本的phpmyadmin,一執行便知道sql語句的問題了。

你知道這種開發模式能更好的幫你排錯嗎?

(2)讓人頭疼的是在某個框架中,我們使用框架封裝好的方法我們去操作數據庫,這樣在一定程度上我們就不會用編寫原聲sql語句而頭疼了,但是就是這樣我們的sql語句出現問題我們排錯也是更加困難的,接下來小編就給大家說兩種我們在日常開發中常用的兩種框架,怎麼更好的去解決這個問題:

你知道這種開發模式能更好的幫你排錯嗎?

1)在web開發神器Laravel裡面我們怎麼去做呢?分為兩種方法,當然如果有更好的方法歡迎一起交流

首先我們執行一個php artisan make:listener SqlListener -e=QueryExecuted
你知道這種開發模式能更好的幫你排錯嗎?

當然在事件監聽的Service裡面要加上監聽的事件類文件地址

你知道這種開發模式能更好的幫你排錯嗎?

接下來我們就去編寫一個記錄sql語句的業務邏輯了

你知道這種開發模式能更好的幫你排錯嗎?

之後我們編寫sql處理方法

你知道這種開發模式能更好的幫你排錯嗎?

之後在對應的文件夾下面就出現了一個文件,裡面就記錄了我們執行的sql語句

你知道這種開發模式能更好的幫你排錯嗎?

2)還有一個簡單暴力的方法

你知道這種開發模式能更好的幫你排錯嗎?

這樣也能打印出sql語句,當然這個sql語句就是一個預處理sql語句

你知道這種開發模式能更好的幫你排錯嗎?

當然還是推薦上面第一種方法

3)接下來我就給大家介紹國產框架ThnkPHP5.0+的方法,當然加簡單很多了

$this->getLastSql();

之後就可以先顯示一段最後一次執行的sql語句了

select * from test;

你知道這種開發模式能更好的幫你排錯嗎?

以上就是我們開發中最常用的排錯以及去優化sql語句具備的基礎操作,希望我們在日常開發中遇到sql語句的問題我們完全可以按照上面的操作去打印sql語句然後排錯以及進行sql的優化


分享到:


相關文章: