前面一篇写了一个写SQL的小技巧,这篇呢是今天总结出来的。是在写完sql进行调试过程中的一个技巧。
首先,数据库连接肯定是在一个文件里面的,作为一个类似于配置文件的东西存在,我叫他db_conn.php。里面定义了连接数据库的用户名,
密码,和数据库服务器,一般最后会有通过他们获得一个数据库连接,以后在每次使用数据库的时候都可以通过include这个文件来获得数据库
连接,从而获得一些方便。
我开始就是这样做的,然后在需要的地方写了自己的mysql_query($query),这样在出错的时候(通常还是sql语句出错,里面空格少了
啊!查询条件空了啊!等等一序列问题)。这样呢,每次出错。都要进行但不调试,显然浪费时间,要是在代码里面加上echo呢!每次加,加完
还要删除,也很麻烦,我的处理方式是,在db_conn中写一个函数他的作用就是把mysql_query封装一层。返回结果完全就是执行mysql_query
的结果。可能有人就会问这不是吃饱了没事干吗!其实吧!重要的是,你还可以在这个方法中做一些其他事情,我做的就是在每次调用这个方法的时
候输出本次执行的sql语句(这里输出的sql是可以直接运行的,没有变量在里面)到文件,除此还可以输出mysql_error等等你想要的东西,我
的文件名叫debug.txt,输出到文件有个好处就是每次这些数据不会被发到客户端,这写主要是供开发过程中使用。这样做了以后,在以后运
行过程中,一旦出现mysql相关的错误,首先打开前面写的里面存的就是刚才运行过程中执行的sql语句,这样就可以很清晰的开出来是什么
错误(mysql_error打印的错误比较全)sql是什么,很多时候,在这里就直接可以找到问题的症结所在了,,而且可以直接把这里输出的sql放到
命令行模式下执行,看看返回结果是不是预期的。如调试此就节约了使用但不调试的时间。个人今天就是这样做的,感觉很舒服,今天调错
比昨天快多了。这样包装mysql_query的好处还有一个就是可以对传进来的sql语句进行一个简单的验证,看看其是否合法!把对sql的验证
统一处理。
还有一个我认为很好的调试过程中使用的函数就是var_dump();打印出来的结果太全面了,一眼就看出来什么没有出来,什么是错的了。
好了,今天笔记就做到这里了。。。。。
睡觉。。。。。