Php SQL查询未区分大小写进行检查
我正在尝试创建一个系统来验证用户的用户名和密码。 我目前在检查用户名时遇到问题。。。 如果某人的用户名是Burrito,当我通过查询查看它是否在数据库中时,它不会检查字母大小写是否正确。 例子: 用户名是迈克尔 他们可以输入michael或michael,但仍然会认为是同一个用户名 以下是我用来检查用户名的内容:Php SQL查询未区分大小写进行检查,php,mysql,Php,Mysql,我正在尝试创建一个系统来验证用户的用户名和密码。 我目前在检查用户名时遇到问题。。。 如果某人的用户名是Burrito,当我通过查询查看它是否在数据库中时,它不会检查字母大小写是否正确。 例子: 用户名是迈克尔 他们可以输入michael或michael,但仍然会认为是同一个用户名 以下是我用来检查用户名的内容: $isValid = mysql_query("SELECT username FROM " . getSQL_Info(3) . " WHERE username = '" . $u
$isValid = mysql_query("SELECT username FROM " . getSQL_Info(3) . " WHERE username = '" . $user . "'");
谢谢你的时间和帮助。
另外,如果你发现我的代码有任何问题,如果有更好的或者没有更好的,请告诉我:)你需要检查你的MySQL编码类型。如果它是
utf8\u general\u ci
或latin1\u swedish\u ci
(或以\u ci
结尾的任何内容),则不区分大小写
您可以通过更改表编码或使用以下方法解决此问题:
SELECT username FROM table WHERE BINARY username = :username
我会推荐forma
相关的:
另外,如果您发现我的代码有任何问题,如果可能
不管是好是坏,请告诉我:)
- 您正在使用已弃用的
函数mysql.*
- 我看不到你的代码中有任何转义
utf8\u general\u ci
或latin1\u swedish\u ci
(或以\u ci
结尾的任何内容),则不区分大小写
您可以通过更改表编码或使用以下方法解决此问题:
SELECT username FROM table WHERE BINARY username = :username
我会推荐forma
相关的:
另外,如果您发现我的代码有任何问题,如果可能
不管是好是坏,请告诉我:)
- 您正在使用已弃用的
函数mysql.*
- 我看不到你的代码中有任何转义
- 您正在使用不推荐使用的mysql函数
- 注意安全
- 你问题的解决办法是 选择*FROM foo WHERE(BINARY username=“someNaMe”)
- 您正在使用不推荐使用的mysql函数
- 注意安全
- 你问题的解决办法是 选择*FROM foo WHERE(BINARY username=“someNaMe”)
$con->query(“从表中选择用户名,其中用户名=”“$user”。”);
即使数据库中不存在$user,它也将始终返回true。如果指定的用户名不存在,是否有方法使其返回false?再次感谢!谢谢!不打扰您,但您是否可以解释为更多的不推荐使用的函数,我看到有一个PDO::query,它来自我的ctell替换了mysql_query()。谢谢。我只是想知道手册页上的“->”对于这个函数意味着什么,我看了很多地方,找不到合适的解释。对不起,你找到了答案,但是你自己:)pdo或mysqli替换了不推荐的mysql_*函数。oop(面向对象编程)中的箭头需要调用方法(为该对象定义的…)。但这涉及到一个巨大的话题:D@MichaelMitchell:看看这里,嘿,最后一件事,我已经更新了我的函数和所有函数,但现在当我输入如下内容时:$con->query(“从表中选择用户名,其中用户名=”“$user.”)
即使数据库中不存在$user,它也将始终返回true。如果指定的用户名不存在,是否有方法使其返回false?再次感谢!使决策服务器变宽,因此更改编码。使决策服务器变宽,因此更改编码。