|
|
|
| Привет! Есть таблица пользователей, нужно сделать проверку на существование email адресов, дабы избежать повторяющихся при регистрации.
Своим способом как мне кажется разумно поступать при небольшом количестве пользователей, или я ошибаюсь? Не слишком ли будет громоздкий запрос если в таблице много записей > 1000
Таблица mytable:
id | mail | field1 | field2 | field3 | field 4| .....
1 почта | .... | ......... | .......... | ........... | ......
1 почта | .... | ......... | .......... | ........... | ......
1 почта | .... | ......... | .......... | ........... | ......
1 почта | .... | ......... | .......... | ........... | ......
1 почта | .... | ......... | .......... | ........... | ......
..............................................................................
|
Ищем совпадения:
<?php
// SELECT mail FROM mytable WHERE mail='$mail'
if ($row->mail == $mail) {
echo 'Ошибка, данный емайл уже существует';
}
?>
|
| |
|
|
|
|
|
|
|
для: tima2010
(15.12.2011 в 18:58)
| | Не слишком ли будет громоздкий запрос если в таблице много записей > 1000
это не то что слишком много записей... это считай их совсем нет
волноваться нужно начинать от пары десятков миллионов записей | |
|
|
|
|
|
|
|
для: tima2010
(15.12.2011 в 18:58)
| | Да, совершенно верно, можно еще вместо mail написать COUNT(*) - вернет 0, нет e-mail, больше 0 - есть. Там при редактировании тонкости возникают - нужно проверять во всем массиве, кроме редактируемой строки. | |
|
|
|
|
|
|
|
для: cheops
(15.12.2011 в 19:16)
| | Да лучше count(), так намного эстетически будет
if (count($query) != 0) { echo "Введенный Вами e-mail уже зарегистрирован. "; }
|
Немного не понял вас в этом предложении:
Там при редактировании тонкости возникают - нужно проверять во всем массиве, кроме редактируемой строки.
|
| |
|
|
|
|
|
|
|
для: tima2010
(15.12.2011 в 21:09)
| | Когда вы редактируете запись, тоже важно, чтобы, если вводится новый e-mail, он не повторялся с другими... однако, в базе данных он уже имеется в этой самой строке. Поэтому её нужно исключать при проверке. | |
|
|
|
|
|
|
|
для: cheops
(15.12.2011 в 21:44)
| | все понял :) спасибо | |
|
|
|