Заголовок сообщения: Помогите с mysql плз Добавлено: 15 Январь 2010, 13:32:15
Доброго времени суток всем! Вообщем возникла такая проблема, есть форма регистрации, которая добавляет в базу пользователя со следующими значениями: id,name,login,pass,pass_r все работает, нормально, вот только не получается проверить если есть в базе такой логин, он все равно добавляет, помогите пожалуйста, как организовать проверку на то что в базе уже есть такой логин, и выдавать сообщение о том что такой пользователь есть,и не добавлять его в базу.
$sql = "select count(*) as total from user where login='{$_POST['login']}';"; $r = mysql_query($sql); $row = mysql_fetch_assoc($r); if (isset($row['total']) and $row['total']>0) { die('Пользователь с таким логином уже существует'); }
Надо ставить уникальный (первичный) ключ на поле с логином, делать INSERT и отлавливать ошибку типа "Duplicate entry '%s' for key %d ". Проверка - не совсем правильный подход, потому что есть шанс что база данных может измениться за тот малый промежуток времени между проверкой и вставкой записи в БД. Хоть шансы такого здесь минимальны, но хорошо думать о целостности БД и приложения.
_________________ Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.