我试图通过搜索关键字查询数据库表。我的SQL如下:
SELECT * FROM some_table WHERE some_name LIKE '%$keyword%'
其中$ keyword来自PHP表单POST数据。 $关键字已由real_escape_string
函数处理。我注意到$ keyword是%,所有记录都被选中。如何在内容中搜索%的some_name
字段?
答案 0 :(得分:5)
您必须转义文字%
,如manual中所述:
SELECT * FROM some_table WHERE some_name LIKE '%\%%';
编辑:另请注意,您应该以相同的方式转义_
字符,这是单字符外卡的符号。
答案 1 :(得分:1)
您应该在关键字
中使用%
转义\%