我对Code Igniter相当陌生,而且我正在使用Active Record来处理新项目中的所有查询。CodeIgniter Active Record:在不运行SQL的情况下进行调试
有没有一种方法可以输出SQL语句而无需实际运行它。
我创建的函数在其中有很多语句,选择,删除和更新,并且在测试环境中运行它们之前我想确保它们是正确的,因为它们有很多If和case他们建立查询。
简而言之,我只是想让它回应声明,但不能运行它。
在此先感谢! :)
我对Code Igniter相当陌生,而且我正在使用Active Record来处理新项目中的所有查询。CodeIgniter Active Record:在不运行SQL的情况下进行调试
有没有一种方法可以输出SQL语句而无需实际运行它。
我创建的函数在其中有很多语句,选择,删除和更新,并且在测试环境中运行它们之前我想确保它们是正确的,因为它们有很多If和case他们建立查询。
简而言之,我只是想让它回应声明,但不能运行它。
在此先感谢! :)
查看用户指南的Database Query Helper部分中列出的insert_string()
和update_string()
方法。
对于select,你需要在运行命令后运行$ this-> db-> last_query(),但是SELECT是非破坏性的,所以谁在乎。
确切地说,我很好的选择语句,其更新和删除查询我很警惕,我希望能够显示它们而不运行。将查看帮助部分。谢谢 – 2012-08-01 08:41:03
插入/更新字符串很方便输出,但它不适用于在活动记录中建立的查询。 – 2012-08-01 08:48:52
它当然应该做的。你怎么使用它? – 2012-08-01 09:58:23
看看我的这个答案。
How can I rewrite this SQL into CodeIgniter's Active Records?
在此,如果您使用$这 - >数据库 - > _ compile_select(),然后呼应它,它就会显示查询不运行。
假设您将查询放入一个变量中,只需:echo $ myquery; – Brian 2012-08-01 08:27:28
阅读这里:http://stackoverflow.com/questions/5113675/codeigniter-active-record-generate-but-do-not-execute-query – 2012-08-01 08:30:15
因此,如果我使用'echo $ this-> db-> last_query() ;”它会显示查询,但它不会运行它? – 2012-08-01 08:39:20