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

时间:2011-09-25 07:26:30

标签: php mysql case-sensitive

查询数据库时如何检查字符串的大小写?例如,使用此声明:

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

数据库中的值是“Test”。但是,用户可以键入“test”,它仍然可以工作。如何查看确切的案例?我已经尝试过===和==,但显然它们在SQL中不起作用。

3 个答案:

答案 0 :(得分:3)

您的整理需要区分大小写。

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

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

ALTER TABLE `members` CHANGE `username` `username` VARCHAR( 500 ) CHARACTER SET latin7 COLLATE latin7_general_cs NOT NULL 

答案 1 :(得分:0)

您使用的SQL服务器是什么?鉴于你正在使用PHP,我将假设它是mysql并发送给你here

答案 2 :(得分:-3)

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

$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 */
  }
}