我有一个包含上面列的数据库。无论何时,我都尝试执行查询
"SELECT * FROM `crosswordpuzzles` WHERE `Answer` LIKE '123' "
,mysql能够返回相应的行。但是,当我执行相同的查询以查找其他2行时,
"SELECT * FROM `crosswordpuzzles` WHERE `Answer` LIKE '456' "
"SELECT * FROM `crosswordpuzzles` WHERE `Answer` LIKE '789' "
我的sql返回0结果。这些行已经通过来自以前的html表单的POST请求插入。但是,我尝试使用phpmyAdmin手动插入相同的行,它能够检测到新行。 到底发生了什么?我一直试图弄清楚,并且无法理解为什么。
答案 0 :(得分:1)
试试这个。这可能会对你有帮助。
SELECT * FROM crosswordpuzzles WHERE Answer LIKE '%789%'
上述SQL语句选择包含模式" 789" {/ 1>}的Answer
的所有记录。
答案 1 :(得分:0)
在寻找确切结果时,您不必使用LIKE
关键字。而是尝试使用IN,如
"SELECT * FROM `crosswordpuzzles` WHERE `Answer` IN ('789','123','456') "
如果您正在搜索单个搜索,则只需使用=
进行搜索,如
"SELECT * FROM `crosswordpuzzles` WHERE `Answer` = '789'"
或者可能有一些空间,所以你可以试试
"SELECT * FROM `crosswordpuzzles` WHERE TRIM(`Answer`) = '789'"
"SELECT * FROM `crosswordpuzzles` WHERE TRIM(`Answer`) = '123'"
"SELECT * FROM `crosswordpuzzles` WHERE TRIM(`Answer`) = '456'"