Я изменяю веб-приложение, которое было встроено в PHP другим разработчиком. В настоящее время, если пользователь заполняет форму и вводит имя пользователя, которое уже используется, оно отображает ошибку MySQL Duplicate entry 'fred' for key 'username'
на новой странице. Я хочу сделать так, чтобы сообщение об ошибке отображалось на одной странице, поэтому я пытаюсь проверить, совпадает ли введенное имя пользователя с другим именем пользователя в таблице, но я не могу заставить его работать. Есть предположения?Проверьте MySQL для повторной записи
$username_entry = ($_POST['username']);
$username_match = mysql_query("SELECT * FROM business WHERE username='$username_entry'");
if (($_POST['username']) == $username_match) {
// do something
}
какая часть не работает? –
Лучшее решение - это уже реализованное. Если вы получите дублирующий ключ для результата ввода, вы можете отобразить соответствующее сообщение об ошибке. Это гарантирует, что вы только когда-либо совершаете одну поездку туда и обратно в базу данных. Если вы проверите, существует ли пользователь перед вставкой, это приведет к 2-мя поездкам, которые являются более дорогостоящими. Лучшее решение, которое я вижу для вашей проблемы, либо: 1. Перенаправить с страницы сообщения об ошибке обратно на вызывающую страницу и показать соответствующую ошибку. 2. Используйте ajax для завершения запроса и покажите ошибку в вызывающей форме. – Chris
@ Chris-MayhemSoftware Я PHP noob, поэтому я не уверен, как я собираюсь отображать сообщение об ошибке таким образом. Не могли бы вы уточнить? –