Php 如何使mysqli_查询对变量进行相同的比较?

Php 如何使mysqli_查询对变量进行相同的比较?,php,mysql,Php,Mysql,这是我的密码 if ($_SERVER['QUERY_STRING']) { $qrystring = $_SERVER['QUERY_STRING']; $q = "SELECT * FROM accounts WHERE username = '$qrystring'"; $r = mysqli_query($dbc, $q); if ($r) { if (mysqli_num_rows($r) > 0) { echo 'Yay acco

这是我的密码

if ($_SERVER['QUERY_STRING']) {
$qrystring = $_SERVER['QUERY_STRING'];
$q = "SELECT * FROM accounts WHERE username = '$qrystring'";
$r = mysqli_query($dbc, $q);
    if ($r) {
        if (mysqli_num_rows($r) > 0) {
            echo 'Yay account active';
        }
        else {
            header('location: create');
        }
    @mysqli_free_result($r);
    }}
现在,例如,当$qrystring=User,并且在数据库中它等于User时,mysql仍然将其比较为正确。当我使用===的相同语句时,它会破坏代码,并且不会工作

我希望它区分大小写

有什么想法吗


谢谢。

请先清理
$qrystring
变量,然后再将其未经筛选传递到数据库。(参见SQL注入)

要进行区分大小写的匹配,您必须在列上使用:

username = COLLATE latin1_general_cs = '$querystring'
从手册中:


简单的比较操作(>=,>,=,请先清理
$qrystring
变量,然后再将其未经筛选传递到数据库。(请参阅SQL注入)

要进行区分大小写的匹配,您必须在列上使用:

username = COLLATE latin1_general_cs = '$querystring'
从手册中:

简单的比较操作(>=,>,=,请参见:

也要照哈夫丹说的做!;)

参见:


也照哈夫丹说的做!;)

你是说区分大小写?是的。我会修改我的答案让它更清楚,你是说区分大小写?是的。我将编辑我的答案以使其更清楚,是的,我将我只是测试如何使其区分大小写是的,我将我只是测试如何使其区分大小写当这项工作如您所愿时,您应该使用它进行区分大小写的匹配。当这项工作如您所愿时,您应该使用它进行区分大小写的匹配。