Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > проверка на существование в базе


Автор: kichSman 13.3.2009, 21:33
Я ток сеня начал изучать SQL и вот с чем столкнулся, как на PHP составить запрос для проверки на существование определенной записи в содном из столбцов

Автор: Photon 13.3.2009, 22:53
Поподробней задачу опиши..

Автор: enof 13.3.2009, 23:05
Код

$result = mysql_query("SELECT COUNT(*) as `cnt` FROM `table_name` WHERE `field`='value'");
echo mysql_result($result, 0, 'cnt');

либо
Код


$result = mysql_query("SELECT * FROM `table_name` WHERE `field`='value'");
echo mysql_num_rows($result);

Автор: kichSman 13.3.2009, 23:46
Цитата(enof @ 13.3.2009,  23:05)
Код

$result = mysql_query("SELECT COUNT(*) as `cnt` FROM `table_name` WHERE `field`='value'");
echo mysql_result($result, 0, 'cnt');

либо
Код


$result = mysql_query("SELECT * FROM `table_name` WHERE `field`='value'");
echo mysql_num_rows($result);

А как в таком случае будет условие выглядеть, или хотябы что запрос должен вернуть?

Автор: enof 13.3.2009, 23:49
kichSman, условие какое хотите, такое и пишите.
echo выведет кол-во записей, подходящих под условие.
т.е. если ==0, то записей нет, если >0, то есть.

Автор: kichSman 14.3.2009, 00:01
Цитата(enof @ 13.3.2009,  23:49)
kichSman, условие какое хотите, такое и пишите.
echo выведет кол-во записей, подходящих под условие.
т.е. если ==0, то записей нет, если >0, то есть.

Спасибо

Добавлено через 9 минут и 17 секунд
Цитата(enof @ 13.3.2009,  23:49)
kichSman, условие какое хотите, такое и пишите.
echo выведет кол-во записей, подходящих под условие.
т.е. если ==0, то записей нет, если >0, то есть.

А вот еще вопрос, а что в селекте пропиписать, чтобы запрос искал нужную строку, именно в определенных параметрах друго столбца, а именно между датой А и датой Б?

Автор: bars80080 14.3.2009, 11:08
Код

$sql = 'select * from table where date>'.$date1.' and date<'.$date2;

Автор: Severyanin 18.3.2009, 08:04
или так:
Код

$sql = 'select * from table where date between '.$date1.' and '.$date2;

Автор: emvoronov 22.3.2009, 20:38
Цитата(kichSman @ 13.3.2009,  23:46)
Цитата(enof @ 13.3.2009,  23:05)
Код

$result = mysql_query("SELECT COUNT(*) as `cnt` FROM `table_name` WHERE `field`='value'");
echo mysql_result($result, 0, 'cnt');

либо
Код


$result = mysql_query("SELECT * FROM `table_name` WHERE `field`='value'");
echo mysql_num_rows($result);

А как в таком случае будет условие выглядеть, или хотябы что запрос должен вернуть?

Всем доброго времени суток, никак не могу понять почему не выполняется  код и выдается следующее предупреждение:

"Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in....."

Заранее благодарен за ответ

Автор: enof 22.3.2009, 20:45
emvoronov,  
Код

echo mysql_error();

?

Автор: emvoronov 22.3.2009, 20:55
Глупейшая ошибка - не выбрана база была....
Но все же спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)