Forum Webscript.Ru
Общие => Базы данных => Тема начата: Antoha от 03 Февраля 2003, 10:28:30
-
Люди помогите, понимаю как сделать, но на практике не могу осуществить.
Тема такая надо на php сделать запрос к базе и проверить есть ли в этой базе e-mail, который мне нужен.
Делаю так:
1. $query="SELECT email from table WHERE email=\'vasi@mail.ru\'";
2. А вот тут то и торможусь, может есть какая функция которая анализит результат запроса и выдает TRUE, если запрос не содержит ни одной записи.
-
Сделай так
SELECT COUNT(email) as cnt FROM table WHERE email=\'vasi@mail.ru\'
а потом проверяй - если cnt=0 - записей нет.
-
Можно это поле объявить UNIQUE, и делать сразу инсерт, а потом if (mysql_errno()==1062) ...
-
Оба способа понятны, спасибо. Но все таки посоветуйте на собственном опыте, какой лучше?
-
Способ Alexandr\'а, видимо, будет быстрее, т.к. не нужно делать лишний запрос.
-
Способ Alexandr\'а, видимо, будет быстрее, т.к. не нужно делать лишний запрос.
надо проверить есть ли в базе такое мыло или нет, а не вносить его в базу (тем более, что еще надо дополнительно делать
UNIQUE
)
-
Yukko
Ну, это если не нужно потом инсертить.
-
а не вносить его в базу
Редко бывает нужно просто узнать.
-
Возвращаясь к истокам и вопросу, заданному в первую очередь.
какая функция которая анализит результат запроса
Есть. mysql_num_rows() называется
-
mysql_num_rows
Но SELECT COUNT быстрее, AFAIK..
-
быстрее
Никто и не спорит :) Просто ему была нужна функция которая анализит результат запроса и выдает TRUE, если запрос не содержит ни одной записи
IMHO, mysql_num_rows() - то, что ему было надо :)
-
mysql_num_rows() - то, что ему было надо
Не-а.. она выдаст FALSE :D
Ладно, это бессмысленный спор.. завязываем флейм разводить :)