解析错误:语法错误,意外的';'一切看起来都很好

时间:2019-05-31 18:51:23

标签: php mysql

我想在MySQL表中插入一些信息,但是在我插入信息的代码行中,它总是给我同样的错误。

问题出在代码的第一行。

我检查了可能遗忘添加的任何括号,方括号或大括号。我看不到任何问题,但也许您会。你能帮我吗?

由于某种原因,该if语句不希望位于代码框中。

if(mysql_num_rows($sql2==1) {

        $sql = "INSERT INTO users (username, email, password) VALUES (:username, :email, :password)";

        if($stmt = $pdo->prepare($sql)){
            // Bind variables to the prepared statement as parameters
            $stmt->bindParam(":username", $param_username, PDO::PARAM_STR);
            $stmt->bindParam(":email", $param_email, PDO::PARAM_STR);
            $stmt->bindParam(":password", $param_password, PDO::PARAM_STR);

            // Set parameters
            $param_username = $username;
            $param_email = $email;
            $param_password = password_hash($password, PASSWORD_DEFAULT); // Creates a password hash

            // Attempt to execute the prepared statement
            if($stmt->execute()){
                // Redirect to login page
                header("location: login.php");
            } else{
                echo "Something went wrong. Please try again later.";
            }
        }

        // Close statement
        unset($stmt);
    }
  

解析错误:语法错误,意外的';'

1 个答案:

答案 0 :(得分:1)

您必须这样做:

if (mysql_num_rows($sql2) == 1) {
    //ur code
}

您忘记了“)”,并在pdo函数中询问了问题

它还会给出“解析错误:语法错误,意外的';'一切看起来都很好”

因为函数mysql_num_rows无法处理“ ==”

编辑

不推荐使用功能mysql_num_rows,而改用mysqli_num_rows()

阅读文档here