我想检查我的数据库中是否存在用户名和密码,但是我的代码有问题,我找不到它。
$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');
}
答案 0 :(得分:2)
除了您的SQL注入问题之外,您使用的是超级全局数组$_POST
错误(因为您将其命名为$post
)。
尝试使用正确的超全局变量名称 - 并使用Google进行SQL注入。
答案 1 :(得分: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注入是不安全的,在公共网站上使用它不是一个好主意。
答案 2 :(得分:0)
您需要使用mysql_num_rows
来确定是否有任何结果。