Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проверка информации

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Vaio
Отправлено: 07 Мая, 2013 - 22:47:24
Post Id


Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




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

PHP:
скопировать код в буфер обмена
  1. $query = mysql_query("SELECT `userid` FROM `users` WHERE `email` = '$email'");
  2.  
  3. if(mysql_num_rows($query)){
  4.         //...
  5. }


Также знаю еще такой способ:

PHP:
скопировать код в буфер обмена
  1. $query = mysql_query("SELECT COUNT(userid) FROM `users` WHERE `email` = '$email'");
  2.  
  3. if(mysql_result($query, 0)){
  4.         //...
  5. }


Посоветуйте как лучше проверять и возможно есть другие варианты получше, которых я не знаю.
 
 Top
OrmaJever Модератор
Отправлено: 07 Мая, 2013 - 22:52:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




первый, но в конец запроса ещё добавьте LIMIT 1


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
alexiy
Отправлено: 07 Мая, 2013 - 23:04:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




OrmaJever а для чего используется LIMIT 1?
 
 Top
avtor.fox
Отправлено: 07 Мая, 2013 - 23:06:19
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




OrmaJever, зачем? Онож уникальное.

alexiy, для вывода одной записи.
 
 Top
Vaio
Отправлено: 07 Мая, 2013 - 23:08:57
Post Id


Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




OrmaJever пишет:
первый, но в конец запроса ещё добавьте LIMIT 1

Спасибо, лимит всегда использую, в примере забыл написать.

alexiy пишет:
OrmaJever а для чего используется LIMIT 1?

для выборки только 1 записи
 
 Top
LIME
Отправлено: 07 Мая, 2013 - 23:12:28
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




avtor.fox если мыло не логин нет смысла захламлять таблицу лишним индексом
 
 Top
avtor.fox
Отправлено: 07 Мая, 2013 - 23:16:58
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




LIME, так идейность вся в уникальности мыла. Наверное)
 
 Top
LIME
Отправлено: 07 Мая, 2013 - 23:23:03
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




avtor.fox как бэ да
но раз проверка идет до вставки(видимо для вывода сообщения)
то до вставки повторяющегося мыла не дойдет
следовательно индекс нафиг не нужен.. только инсерт/апдейт тормозить будет
конечно если это не логин(или в выборках каких участвует)
 
 Top
OrmaJever Модератор
Отправлено: 07 Мая, 2013 - 23:48:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




avtor.fox пока меня не ткнут носом в ссылку где будет написано что лимит 1 это плохо я буду использовать его и советовать, даже для уникальных полей


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB