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