#1 jake

这里说说对于SQL语句的测试,很多时候我们会遇到程序中SQL语句有问题,没有输出错误提示但是却无法达到预期的效果,这是实际开发中经常会遇到的问题。解决这个问题的一个好方法就是先输出SQL语句到浏览器上(echo $sql;),然后再将SQL语句放到PHPMyAdmin上面去执行一下,看看语句是否存在问题。

同时,在使用find,create等操作的时候,也同样可以使用dumpSql来获取最后执行的SQL语句,以检查语句是否正确。下面介绍一下dumpSql函数。

dumpSql —— 返回最后执行的SQL语句供分析

用法:dumpSql()

例子:

// 我们根据上章中find函数的例子
$conditions = array( 'name' => '小李' );
$gb = spClass('gb');
$result = $gb->find($conditions);
echo $gb->dumpSql();

最后将输出:

SELECT spgb_gb.* FROM spgb_gb WHERE 'name' = '小李' limit 1

返回:

返回最后执行的SQL语句。

以上是spModel对SQL语句本身的支持函数,在简便的数据表CRUD操作基础上再加入直接的SQL执行支撑,无疑为我们的开发带来更多方便。

到此我们已经学习了spModel的全部操作函数,接下来我们可以针对不同的PHP系统需求,对spModel进行继承扩展,以便实现更简便和强大的功能。

另外,很多时候直接使用SQL语句都是在面对关联表查询或者是关联表更新等情况,也就是关联表的操作,同时关联表也是数据库操作中并不少见但较难理解的部分。我们可以高兴的是,sp框架除了强大的spModel数据表操作外,也提供针对关联表进行操作的spLinker程序,简单易用,极大地简化了关联表的操作。需要学习spLinker的朋友请参阅spModel附属类的相关教程。


2012-08-04 16:31:59