Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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 MYSQL检查案例_Php_Mysql_Case Sensitive - Fatal编程技术网

查询数据库时的PHP MYSQL检查案例

查询数据库时的PHP MYSQL检查案例,php,mysql,case-sensitive,Php,Mysql,Case Sensitive,查询数据库时如何检查字符串的大小写?例如,使用以下语句: mysql_query("SELECT id FROM members WHERE username = '$username'"); 数据库中的值为“Test”。然而,用户可以输入“test”,它仍然可以工作。我如何检查确切的情况?我尝试了===和==,但显然它们在SQL中不起作用。您使用的是什么SQL server?假设您使用的是PHP,我将假设它是mysql并发送给您。使用==运算符检查数据库的值,例如: $row=mysql_q

查询数据库时如何检查字符串的大小写?例如,使用以下语句:

mysql_query("SELECT id FROM members WHERE username = '$username'");

数据库中的值为“Test”。然而,用户可以输入“test”,它仍然可以工作。我如何检查确切的情况?我尝试了===和==,但显然它们在SQL中不起作用。

您使用的是什么SQL server?假设您使用的是PHP,我将假设它是mysql并发送给您。

使用==运算符检查数据库的值,例如:

$row=mysql_query("SELECT id FROM members WHERE username = '$username'");
while($rowData=mysql_fetch_assoc($row)) {/* fetch the value */
  if($rowData['value']=='test') {
    echo "yes value is correct";/* code for statement */
  }
}

您的排序规则需要区分大小写

将用户名列的排序规则更改为区分大小写的排序规则。 例如,如果您仅在用户名列中使用拉丁字符,则将其更改为
latin1\u general\u cs
latin7\u general\u cs

ALTER TABLE `members` CHANGE `username` `username` VARCHAR( 500 ) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL 


他的问题很清楚地表明他在使用mysql:)
mysql_查询(“从username='$username'的成员中选择id”)
和Maerlyn:他希望用mySql而不是PHP进行比较。从mysql获取值然后进行php比较是没有意义的
ALTER TABLE `members` CHANGE `username` `username` VARCHAR( 500 ) CHARACTER SET latin7 COLLATE latin7_general_cs NOT NULL