thinkphp中sql语句中含有短横线(-)的处理伟⼤的程序员从套页⾯……卧槽。
1.问题描述
传⼊参数的URL:
127.0.0.1/index.php/result/receiveresult/7A01A18D-F9DC-3A69-CBAA-784A8FA3DB1C/1440752579/111/22/0.98其中 7A01A18D-F9DC-3A69-CBAA-784A8FA3DB1C 是作为⼀个sql查询语句中的where赋值语句传⼊。
$taskresult = M('taskresult');
$result_data = $taskresult->where('task_code='.$task_code)->setField($data);横线
此时报错:
SQLSTATE[42S22]:Column not found:1054Unknown column '7A01A18D'in'where clause'
也就是说,sql语句中将短横线-作为了分割点。
2.解决办法
解决办法也⾮常简单,现将查询条件转化为⼀个数组即可:
$taskresult = M('taskresult');
$result_data = $taskresult->where(array('task_code' => $task_code))->setField($data);
3.短横线-在sql语句中的处理
待续
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论