У меня есть проблема с моим кодом, чтобы проверить, зарегистрировано ли имя пользователя. Я сделал поиск здесь, чтобы посмотреть на различные решения и реализовать некоторые из них в моем коде, но я все еще не могу заставить его работать. Я попытался зарегистрировать одно и то же имя пользователя несколько раз, но он все же позволяет зарегистрироваться, не предупредив меня, что имя пользователя уже выполнено. Прошу прощения, если это легко решить, поскольку я новичок в php и mysql.PHP Проверьте, что пользователь уже зарегистрирован
Я пробовал несколько решений, но никто не работает для меня. Это моя последняя итерация моего кода.
<?php
session_start();
if (isset($_POST['submit'])) {
$dbCon = mysqli_connect("localhost", "root", "badassrichv", "FootballDB");
if (mysqli_connect_errno()) {
echo "Failed to connect: " . mysqli_connect_error();
}
$username = strip_tags($_POST['name']);
$password = strip_tags($_POST['password']);
$email = strip_tags($_POST['email']);
$checkName = 'SELECT * FROM user WHERE username = "$username"';
$run = mysqli_query($dbCon, $checkName);
$data = mysqli_fetch_array($run, MYSQLI_NUM);
if ($data[0] > 0) {
echo "<script>alert('Name already registered. Input a different name')</script>";
exit();
} else {
$sql = "INSERT INTO user (username, password, email) VALUES ('$username', '$password', '$email')";
}
....More code
Во-первых, вы никогда не должны помещать данные POST непосредственно в запросе. Вы просто просите о хаосе. Параметры mysqli Google. Во-вторых, попробуйте это, чтобы проверить данные, которые вы возвращаете из db: 'echo '
';' – larsAnders