Да, я знаю, что это было задано раньше, и я буквально скопировал код из нескольких ответов с этого сайта, пытаясь заставить его работать. Это код, который я использовал сейчас, но он позволяет мне вводить повторяющиеся записи.Mysqli проверить, если имя пользователя уже существует
$query = mysqli_query($con, "SELECT * FROM Email WHERE Email = '".$testemail. "'");
if(mysqli_num_rows($query) > 0){
echo "Email is already in use.<br>";
}else{
$query = mysqli_query($con, "SELECT * FROM Username WHERE Username = '".$testname. "'");
if(mysqli_num_rows( $query) > 0){
echo "Username is already in use.<br>";
}else{
$sql = "INSERT INTO users (Username, Password, Email, Firstname, Lastname, Lastlogin, Registered) VALUES ('$testname', '$testpass', '$testemail', '$testfirstname' , '$testlastname', '$lastlogin', '$registered')";
if ($conn->query($sql) === TRUE) {
echo "New account created successfully<br>";
}
}
}
ли конкретный код, который должен остановить это происходит, но here is the full page:
Первый раз, когда я работаю с системой авторизации, как это, так что я не удивлюсь, если я делаю какой-то глупый ошибка.
EDIT: Я пробовал редактировать его, но он все еще не работает, я также сделал уникальную запись «Email» и «Username» в моей базе данных. Но все это означает, что данные вообще не вводятся. Я также пробовал обходной путь, где он отображает ошибку при ошибке номер 1062, но это еще не сработало.
я упустил что-то очевидное, как хорошо, я использую IF заявление, так что петли только через проверку тьфу запросы, когда я думаю
Каковы значения, которые сравниваются? Если значения действительно должны быть уникальными, то также поможет установить ограничение на столбцы базы данных. Примечание: вы можете быть широко открыты для SQL-инъекций с помощью этого кода. – David
в кодовой ссылке он использует mysqli_real_escape_string для sql-инъекции. , например. $ testname = mysqli_real_escape_string ($ con, $ _POST ['username']); – justAnotherUser
Да, один из моих друзей сказал мне использовать mysqli_real_escape_strings в качестве основного счетчика против этих. Есть ли лучший/безопасный способ защиты от инъекций? – Crecket