我想在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);
}
解析错误:语法错误,意外的';'
答案 0 :(得分:1)
您必须这样做:
if (mysql_num_rows($sql2) == 1) {
//ur code
}
您忘记了“)”,并在pdo函数中询问了问题
它还会给出“解析错误:语法错误,意外的';'一切看起来都很好”
因为函数mysql_num_rows无法处理“ ==”
编辑
不推荐使用功能mysql_num_rows
,而改用mysqli_num_rows()
阅读文档here