Php 如何在SELECT查询中区分大写或小写单词
基本上我觉得问题很简单。但是找不到任何解决办法 在登录表单中,我使用php查询我的数据库,该数据库通过从数据库表中选择任何具有该2个值的行来检查传递的用户名和密码 问题似乎是当我登录ex时 用户:mm 通行证:oo 这很有效。这是正确的,因为它们在db表上 但是现在如果我使用 用户:MM 通行证:oo 还能用吗??这是不应该的。因为我的数据库中只有“mm”而不是“mm”用户。 我需要它来区分上层和下层Php 如何在SELECT查询中区分大写或小写单词,php,mysql,select,Php,Mysql,Select,基本上我觉得问题很简单。但是找不到任何解决办法 在登录表单中,我使用php查询我的数据库,该数据库通过从数据库表中选择任何具有该2个值的行来检查传递的用户名和密码 问题似乎是当我登录ex时 用户:mm 通行证:oo 这很有效。这是正确的,因为它们在db表上 但是现在如果我使用 用户:MM 通行证:oo 还能用吗??这是不应该的。因为我的数据库中只有“mm”而不是“mm”用户。 我需要它来区分上层和下层 因为在其他行中,我混合了上下两个字母您必须将列的排序规则/编码从“不区分大小写”的编码更改为区
因为在其他行中,我混合了上下两个字母您必须将列的排序规则/编码从“不区分大小写”的编码更改为区分大小写的编码,例如
utf8\u general\u cs
或latin1\u general\u cs您需要使用区分大小写的编码
从
排序规则名称有一个约定:它们以与其关联的字符集的名称开始,通常包括语言名称,并以_ci(不区分大小写)、_cs(区分大小写)或_bin(二进制)结束
因此,请使用区分大小写的,如utf8\u general\u cs
或latin1\u general\u cs
您可以使用以下查询更新表:
ALTER TABLE `your_table` CHARSET=latin1 COLLATE=latin1_general_cs;
如果说latin1\u general\u cs
,cs
指定它区分大小写。如果您希望将来不区分大小写,可以使用以下查询:
ALTER TABLE `your_table` CHARSET=latin1 COLLATE=latin1_general_ci;
ci
指定它不区分大小写。感谢所有正确的答案。:)但是不得不接受第一个reply@MoAdel没问题,非常好,谢谢你指出ci和cs部分。。所有的答案我都答对了,但我不得不接受第一个答案