19
中使用sqlite3内具有约束力,如果我的查询是SQLite的字符串字面
SELECT * FROM table WHERE title LIKE '%x%'
将匹配包含x
字符串。我想打一个x
绑定参数,如:
SELECT * FROM table WHERE title LIKE '%x?%'
然而,这并不因为''
形式的字符串文字工作。在文字中是否有某种逃避?
的方法?我明白,我可以建立可绑定的参数包含%
然后用
SELECT * FROM table WHERE title LIKE ?
但这种移动责任融入到我的代码在处理SQL注入,而不是绑定接口方面。有更好的解决方案吗?
这不仅仅是sqlite; `||`在SQL标准中; Postgres和Oracle遵循这一点。 MySQL和MSSQL分别使用`CONCAT()`和`+`,两者都是非标准的。 – ephemient 2009-07-09 18:05:07