mysql_real_escape_string не позволит мне войти

Я использую mysql_real_escape_string() избежать логинов такого 1' or '1' = '1тем не менее, когда мне удается его избежать, я не могу войти - это вызывает ошибку "Пожалуйста, введите действительное имя пользователя и пароль". Если я уберу функцию и просто использую 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 ответов

Другие вопросы по тегам