Mysql 数据库正在处理两个值相同但不相同的数据?

Mysql 数据库正在处理两个值相同但不相同的数据?,mysql,Mysql,我正在数据库中记录与此相关的人员姓名对应的总值: $sql = "SELECT distinct instr from table"; //instr is the name of the person in this case $q = $db->prepare($sql); $q->execute(); while($row = $q->fetch()){ //the rest of the stuff } 这似乎一直都很好,但今天我注意到它返回了两组单独的“ca

我正在数据库中记录与此相关的人员姓名对应的总值:

$sql = "SELECT distinct instr from table"; //instr is the name of the person in this case
$q = $db->prepare($sql);
$q->execute();
while($row = $q->fetch()){
    //the rest of the stuff
}
这似乎一直都很好,但今天我注意到它返回了两组单独的“caitlin”数字,而它们应该在一起。以下是phpma中查询的屏幕截图


是什么原因导致了这种情况?

也许这样可以解决您的问题:

$sql = "SELECT distinct TRIM(instr) from table";

里面有一些空白,可能是制表符之类的

要查找错误字符,请执行以下操作:

select hex(instr) from daysheet

这将以十六进制显示所有字符作为其ascii字符值。检查输出是否有超出范围61-7A(a-z)和41-5A(a-z)的字符。

可能是尾随空格或其他字符。尝试执行
从daysheet中选择instr,其中instr='caitlin'
以查看显示内容。@FilipeSilva这只返回一个。有什么好的方法可以将带有尾随空格的对象作为目标呢?不管怎样,我使用了'LIKE'%caitlin%'并找到了它。为了避免这种情况,我将对查询进行一次修剪。谢谢