【问题标题】:Query Failed You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version查询失败 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册
【发布时间】:2019-08-06 22:07:31
【问题描述】:

http://localhost/project/activate.php?email=rakibchokder94@gmail.com&code=b98535103096dd0e8f59a5c6c92b9008

输出 查询失败

您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“b98535103096dd0e8f59a5c6c92b9008”附近使用正确的语法

    <?php
function clean($string){
    return htmlentities($string);
}

function redirect($location){
    return header("Location: {$location}");
}

function set_message($message){
    if(!empty($message)){
       $_SESSION['message'] =$message;  
    }
    else{
        $message="";
    }
}

function display_message(){
    if(isset($_SESSION['message'])){

        echo $_SESSION['message'];
        unset($_SESSION['message']);

    }
}



function activate_user(){
    if($_SERVER['REQUEST_METHOD']=="GET"){
        if(isset($_GET['email'])){
            $email=clean($_GET['email']);
            $validation_code = clean($_GET['code']);

            $sql = "SELECT id FROM users WHERE email='".escape($_GET['email'])."' AND validation_code'".escape($_GET['code'])."' ";
            $result=query($sql);
            confirm($result);

            if(row_count($result)==1){

                $sql2 = "UPDATE 'users' SET 'active' = 1, 'validation_code' = 0 WHERE 'email' = '".escape($email)."' AND 'validation_code' = '".escape($validation_code)."' ";
                $result2=query($sql2);
                confirm($result2);

                set_message("<p class='bg-success'>Your account has been activated</p>");
                redirect("login.php");
            }
            else{
                set_message("<p class='bg-danger'>Your account has not been activated</p>");
                redirect("login.php");
            }
        }
    }
}
?>

【问题讨论】:

标签: php mysql


【解决方案1】:

您的查询中有错字

$sql = "SELECT id FROM users WHERE email='".escape($_GET['email'])."' AND validation_code'".escape($_GET['code'])."' ";

你缺少一个等号

AND validation_code='".escape($_GET['code'])."' ";
-------------------^

【讨论】:

  • 你缺少一个 = 这就是为什么你有一个错误:P
猜你喜欢
  • 2019-01-11
  • 2013-09-03
  • 1970-01-01
  • 2018-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-30
  • 1970-01-01
相关资源
最近更新 更多