mysql_real_escape_string将不允许我登录

时间:2014-11-27 06:35:27

标签: php mysql mysql-escape-string

我使用mysql_real_escape_string()来逃避登录这样的1' or '1' = '1,但是,当我逃脱它时我无法登录 - 它会触发错误#34;请输入有效的用户名和密码"。如果我删除该函数并使用trim()它可以正常工作,但它显然不会逃避SQL注入。

        //$name = trim($_POST['adminname']);
        //$pswd = trim($_POST['pswd']);
        $name = mysql_real_escape_string($_POST['adminname']);
        $pswd = mysql_real_escape_string($_POST['pswd']);

        $sql_re=$db->query("SELECT admin_id,name FROM admin WHERE name ='".$name."' AND password = '".$pswd."'");
        //$db->result(); // loads results as list of arrays
if($db->row() > 0){ 

        $_SESSION['adminName'] = "admin";
        echo '<script>window.location = "index.php";</script>';
        }else{
            $msg = "Please enter a valid username and password!";   
        } // loads one result row as associative array

我也尝试过这样的查询,但仍然无法正常工作。

SELECT admin_id,name FROM admin WHERE name ='".mysql_real_escape_string($name)."' AND password = '".mysql_real_escape_string($pswd)."'"

我已经尝试了mysqli_real_escape_string(),但这导致了数据库错误,因此我使用了MySQL。

关于我接下来可以尝试的任何想法?感谢

0 个答案:

没有答案