1

我想检查我的数据库中是否存在用户名和密码,但是我的代码有问题,我找不到它。

$result=mysql_query("SELECT C_ID FROM customer WHERE C_NNAME ='".$_POST['username']."' AND C_PASS = '".$_POST['pass']."'");

if($result=='FALSE'){
    $word .= select_key('keyword', 'K_ID', 'password');
}
else 
{
    $word.= select_key('keyword', 'K_ID', 'Please Complete Feilds');    
}
4

3 回答 3

2

除了您的 SQL 注入问题之外,您还$_POST错误地使用了超全局数组(正如您所命名的那样$post)。

尝试使用正确的超全局变量名称 - 并使用 Google 进行 SQL 注入。

于 2012-06-08T11:52:48.827 回答
1
$name = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['pass']);
$result = mysql_query("SELECT C_ID FROM customer WHERE C_NNAME ='$name' AND C_PASS = '$password'");

if(mysql_num_rows($result) > 0) {
   // There's a match
} else {
   // There's no match
}

另外请不要使用 mysql_ 函数使用 mysqli_ 或存储程序。该代码对 sql 注入不安全,在公共网站上使用它不是一个好主意。

于 2012-06-08T11:58:05.050 回答
0

您需要使用mysql_num_rows来找出是否有任何结果。

于 2012-06-08T12:04:09.850 回答