ThinkPHP之SQL语句

问题:

使用ThinkPHP的CURD方法快捷执行SQL语句时,出现部分字段值被解释成字段。如:

被翻译成了:

SELECT * FROM `user` WHERE ( `val_1` = 'value_a' ) AND ( `val_2` = value_b ) AND ( `val_3` = 'value_c' )

导致查询语句错误。正确时应该被翻译成:

原因:

ThinkPHP未把变量$value_2当成字符串处理,所以翻译时没有为其加单引号。

解决:

将变量$value_2强制转换成字符串即可。即