php - MYSQL SELECT 不返回某些结果

标签 php mysql sql

我有一个从 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/

相关文章:

php - MySQL 按记录类型限制

MySQL 更新多行中 1 列的部分内容

sql - 如何处理 DATEDIFF 比较中的 NULL?

mysql - 汇总 DATEDIFF 字段

sql - 如果连接存在则从连接表返回值

php - 比赛入场限制为每天一次

php - 在laravel中将数据保存到数据库时不断出现错误

php - Postgres 查询未执行

mysql - 选择存储日期比当前日期至少早 x 天的记录

php - 合并两个表并横向输出日期PHPExcel