我有一个从 MySQL 表中进行选择的 php 脚本。表内容设置为 UTF8,与其交互的 php 脚本也是如此。
输入字符串是real_escaped。我面临以下问题: 给定表中的以下数据:
- ID 用户名
- 1 次测试
- 2 测试 1
- 3 测试-A
以下 SQL 成功返回 1 和 2 的 ID,但当询问第 3 个 ID 时,它什么也没返回。
SELECT `ID` FROM `User` WHERE `Username` = '$User'
当我请求用户名 = Test-A 的 ID 时,为什么它没有返回? 是因为用户名中包含减号吗?
最佳答案
它必须是不同的字符串。仔细检查这两种情况下的破折号/连字符(可能是不同的 unicode 字符,如描述的 here ) - 从“富”文本编辑器复制和粘贴数据时,这种情况经常发生。 还要检查空格。
关于php - MYSQL SELECT 不返回某些结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41014943/