像查询准备好的语句

时间:2014-09-13 04:48:21

标签: mysql prepared-statement

val term="govind"
SQL("SELECT id,name FROM acc WHERE name like '%"+term+"%'") //works

SQL("SELECT id,name FROM acc WHERE name like '%{term}%'").on("term"->term) // doesn't works    

我如何将第一个查询转换为有效的预处理语句?

3 个答案:

答案 0 :(得分:1)

您应该在'术语中包含%'值。

答案 1 :(得分:1)

作为替代方案,我们可以在SQL文本中包含%通配符,并使用MySQL CONCAT函数将这些通配符与bind参数组合在一起,例如:

SQL("SELECT id,name FROM acc WHERE name LIKE CONCAT('%',{term},'%'").on("term"->term)

答案 2 :(得分:0)

包括% term关键字作品

SQL("SELECT id,name FROM acc WHERE name like {term}").on("term"->("%"+term+"%"))