Автор Тема: Проверка на существование записи в базе  (Прочитано 4838 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Antoha

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 27
  • +0/-0
  • 0
    • Просмотр профиля
    • http://zakazdiplom.ru
Люди помогите, понимаю как сделать, но на практике не могу осуществить.

Тема такая надо на php сделать запрос к базе и проверить есть ли в этой базе e-mail, который мне нужен.

Делаю так:

1. $query="SELECT email from table WHERE email=\'vasi@mail.ru\'";

2. А вот тут то и торможусь, может есть какая функция которая анализит результат запроса и выдает TRUE, если запрос не содержит ни одной записи.

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Проверка на существование записи в базе
« Ответ #1 : 03 Февраля 2003, 10:59:40 »
Сделай так
SELECT COUNT(email) as cnt FROM table WHERE email=\'vasi@mail.ru\'

а потом проверяй - если cnt=0 - записей нет.
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Проверка на существование записи в базе
« Ответ #2 : 03 Февраля 2003, 11:23:40 »
Можно это поле объявить UNIQUE, и делать сразу инсерт, а потом if (mysql_errno()==1062) ...
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Antoha

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 27
  • +0/-0
  • 0
    • Просмотр профиля
    • http://zakazdiplom.ru
Проверка на существование записи в базе
« Ответ #3 : 03 Февраля 2003, 11:25:26 »
Оба способа понятны, спасибо. Но все таки посоветуйте на собственном опыте, какой лучше?

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Проверка на существование записи в базе
« Ответ #4 : 03 Февраля 2003, 11:33:23 »
Способ Alexandr\'а, видимо, будет быстрее, т.к. не нужно делать лишний запрос.
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Проверка на существование записи в базе
« Ответ #5 : 03 Февраля 2003, 12:17:46 »
Цитировать
Способ Alexandr\'а, видимо, будет быстрее, т.к. не нужно делать лишний запрос.
надо проверить есть ли в базе такое мыло или нет, а не вносить его в базу (тем более, что еще надо дополнительно делать
Цитировать
UNIQUE
)
работа в Украине

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Проверка на существование записи в базе
« Ответ #6 : 03 Февраля 2003, 12:48:14 »
Yukko
Ну, это если не нужно потом инсертить.
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Проверка на существование записи в базе
« Ответ #7 : 03 Февраля 2003, 15:07:32 »
Цитировать
а не вносить его в базу

Редко бывает нужно просто узнать.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проверка на существование записи в базе
« Ответ #8 : 03 Февраля 2003, 22:02:55 »
Возвращаясь к истокам и вопросу, заданному в первую очередь.
Цитировать
какая функция которая анализит результат запроса

Есть. mysql_num_rows() называется
TANSTAAFL

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Проверка на существование записи в базе
« Ответ #9 : 04 Февраля 2003, 09:53:11 »
Цитировать
mysql_num_rows

Но SELECT COUNT быстрее, AFAIK..
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проверка на существование записи в базе
« Ответ #10 : 04 Февраля 2003, 16:21:55 »
Цитировать
быстрее

Никто и не спорит :) Просто ему была нужна
Цитировать
функция которая анализит результат запроса и выдает TRUE, если запрос не содержит ни одной записи

IMHO, mysql_num_rows() - то, что ему было надо :)
TANSTAAFL

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Проверка на существование записи в базе
« Ответ #11 : 04 Февраля 2003, 16:25:53 »
Цитировать
mysql_num_rows() - то, что ему было надо

Не-а.. она выдаст FALSE :D

Ладно, это бессмысленный спор.. завязываем флейм разводить :)
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28