Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL查询未区分大小写进行检查_Php_Mysql - Fatal编程技术网

Php SQL查询未区分大小写进行检查

Php SQL查询未区分大小写进行检查,php,mysql,Php,Mysql,我正在尝试创建一个系统来验证用户的用户名和密码。 我目前在检查用户名时遇到问题。。。 如果某人的用户名是Burrito,当我通过查询查看它是否在数据库中时,它不会检查字母大小写是否正确。 例子: 用户名是迈克尔 他们可以输入michael或michael,但仍然会认为是同一个用户名 以下是我用来检查用户名的内容: $isValid = mysql_query("SELECT username FROM " . getSQL_Info(3) . " WHERE username = '" . $u

我正在尝试创建一个系统来验证用户的用户名和密码。 我目前在检查用户名时遇到问题。。。 如果某人的用户名是Burrito,当我通过查询查看它是否在数据库中时,它不会检查字母大小写是否正确。 例子: 用户名是迈克尔 他们可以输入michael或michael,但仍然会认为是同一个用户名

以下是我用来检查用户名的内容:

$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.*
    函数
  • 我看不到你的代码中有任何转义

您需要检查您的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”)


          使用Collate比较区分大小写的字符串。这里有一个链接,指向使用Collate比较区分大小写的字符串。这里是到

          的链接,谢谢!我不想打扰您,但您是否可以解释一下,这是一个不推荐使用的函数,我看到有一个PDO::query,我可以告诉您它替换了mysql_query()。谢谢我只是想知道这个函数在手册页面上的“->”是什么意思,我找了很多地方,找不到合适的解释。对不起,你找到了答案,但是你自己:)pdo或mysqli替换了不推荐的mysql函数。调用方法需要oop(面向对象编程)中的箭头(为该对象定义…)但这涉及到一个巨大的主题:D@MichaelMitchell:看看这里,嘿,最后一件事,我已经更新了我的函数和所有函数,但现在当我输入如下内容时:
          $con->query(“从表中选择用户名,其中用户名=”“$user”。”);
          即使数据库中不存在$user,它也将始终返回true。如果指定的用户名不存在,是否有方法使其返回false?再次感谢!谢谢!不打扰您,但您是否可以解释为更多的不推荐使用的函数,我看到有一个PDO::query,它来自我的ctell替换了mysql_query()。谢谢。我只是想知道手册页上的“->”对于这个函数意味着什么,我看了很多地方,找不到合适的解释。对不起,你找到了答案,但是你自己:)pdo或mysqli替换了不推荐的mysql_*函数。oop(面向对象编程)中的箭头需要调用方法(为该对象定义的…)。但这涉及到一个巨大的话题:D@MichaelMitchell:看看这里,嘿,最后一件事,我已经更新了我的函数和所有函数,但现在当我输入如下内容时:
          $con->query(“从表中选择用户名,其中用户名=”“$user.”)
          即使数据库中不存在$user,它也将始终返回true。如果指定的用户名不存在,是否有方法使其返回false?再次感谢!使决策服务器变宽,因此更改编码。使决策服务器变宽,因此更改编码。