Проверьте, существует ли имя пользователя в базе данных MySQL PHP

У меня есть страница registration.php, которую я создал, и мне нужно проверить, нет ли имени пользователя в моей базе данных, чтобы у меня не было 2 членов с тем же именем …

Вот как я ввожу информацию о пользователе в базу данных (имя пользователя, пароль, дата регистрации и т. Д.):

mysql_query("INSERT INTO UserDb (ID, TimeStamp, UserName, Password) VALUES ('$ipaddress', NOW(), '$user_username', '$user_password')"); 

Как я могу проверить эту базу данных «UserDb» в поле «UserName», чтобы убедиться, что переменная пользователя «$ user_username» еще не существует?

    Вы можете сделать поле имени пользователя в базе данных первичным или уникальным, что гарантирует уникальность имени пользователя в базе данных.

    Затем, если вы попытаетесь вставить уже существующее имя пользователя, функция mysql_query () завершится неудачно, вернув FALSE .

    Кроме того, вы всегда должны запрашивать базу данных о существовании имени пользователя, используя простой оператор select:

    SELECT username FROM table WHERE username='$php_username_var';

    Вы можете сделать UserName уникальным полем. Затем MySQL откажется вставить новую запись, если имя пользователя уже существует.

    В качестве альтернативы вы можете запустить запрос, ищущий имя пользователя. Если он не существует, вставьте его. Оберните это в транзакцию, чтобы быть уверенным, что после поиска пользователя добавлен новый новый с тем же именем, прежде чем вы добавите новый.

    создайте уникальный ключ в UserName и, если ошибка INSERT, проверьте номер ошибки.

    Лучше сначала проверить имя пользователя, а не в зависимости от базы данных, чтобы сообщить вам об ошибке – всегда лучше быть явным, а не подразумевать функциональность.

    Кроме того, вам может потребоваться рассмотреть ситуацию, когда есть одна или несколько существующих записей с одинаковым именем пользователя.

    Например, если пользователь подписывается на подписку, отменяется через несколько месяцев, а затем подписывается позже.

    Иногда лучше заново открыть учетную запись, а в других случаях просто создать новую … В этом случае может быть нормально иметь повторяющиеся строки с тем же именем пользователя, если активен только текущий, и отдых для целей исторической отчетности.

    На самом деле вам может потребоваться дублирование строк, если в ваших биллинговых таблицах, заметках и т. Д. Упоминаются старые экземпляры пользователей. Если вы удалили пользователя, это вызовет проблемы с вашей отчетностью.

    Кроме того, совет – используйте адрес электронной почты пользователя как свое имя пользователя – вы знаете, что это уникальная для них строка, дает вам возможность по умолчанию связаться с ними и может быть подтверждена при регистрации.