当我运行电子邮件查询时,它返回null。
SELECT * FROM `cookie_auth` WHERE `email` = 'test@test.com'
所以我在电子邮件列中插入了另一行只有“test”,它可以正常工作。
SELECT * FROM `cookie_auth` WHERE `email` = 'test'
不知道这可能是有用的信息,但我在Windows 8.1上,排序是armscii8_general_ci,引擎是InnoDB。
编辑:另一个注意事项,如果有帮助的话,电子邮件是主键。
编辑2:我想也许表格在某种程度上被打破了,我一直在用饼干,散列令牌和散列密码来搞乱它。我的另一张桌子用电子邮件查询得很好。任何可能的解决方案?最好放下桌子并创建一个新的桌子吗?
编辑3:这是整理,我用latin_swedish_ci创建了一个新表,现在电子邮件查询运行正常。还有为什么会有一次投票呢?
答案 0 :(得分:1)
这个怎么样:
SELECT * FROM `cookie_auth` WHERE `email` LIKE '%test@test.com%'
答案 1 :(得分:0)
尝试使用TRIM功能,如
SELECT * FROM `cookie_auth` WHERE TRIM(`email`) = 'test@test.com'
OR
SELECT * FROM `cookie_auth` WHERE `email` LIKE '%test@test.com%'
答案 2 :(得分:0)
您肯定需要使用 TRIM()功能作为
select * from cookie_authwhere trim(email) ='test@test.com';
这是工作的sql小提琴示例。
答案 3 :(得分:0)
尝试此操作而不是单独使用电子邮件。 如果您想要准确的值,请使用以下查询
SELECT * FROM `cookie_auth` WHERE LTRIM(RTRIM(`email`)) = 'test@test.com'