我查了一下我的問題很多線程,但它仍然是行不通的。PHP的用戶名已經存在,當它不
當我輸入用戶名,不存在,它會拋出的用戶名已尚未創建。但是,當我輸入已經在我的數據庫中註冊的用戶名時,它仍然會註冊。
這裏是我註冊的php/html頁面:
$error = false;
if(isset($_POST['signup'])) {
$name = mysqli_real_escape_string($con, $_POST['name']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$cpassword = mysqli_real_escape_string($con, $_POST['cpassword']);
$sql = "SELECT name FROM users WHERE name='".mysql_real_escape_string($name)."'";
$query = mysqli_query($sql);
if(mysql_num_rows($query)){
$error = true;
$ckname_error = "Nom d'utilisateur déjà enregistré!";
} else { unset($ckname_error); }
if (!$error) {
if(mysqli_query($con, "INSERT INTO users(name,mail,password,rank) VALUES('" . $name . "', '" . $email . "', '" . md5($password) . "', 'user')")) {
$successmsg = "Successfully Registered! <a href='login.php'>Click here to Login</a>";
header("Location: login.php");
} else {
$errormsg = "Error in registering...Please try again later!";
}
}
這很糟糕。使用pdO –
您正在混合'mysql'和'mysqli' – C2486
完全同意Aleksandar。使用PDO。 – Redhart