你知道这种开发模式能更好的帮你排错吗?

很多时候我们在开发一个项目的时候写着写着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的优化


分享到:


相關文章: