Автор Тема: file_exists  (Прочитано 3612 раз)

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

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
file_exists
« : 08 Июля 2002, 14:15:42 »
В php есть отличная функция file_exists , которая проверяет существование файла.
А можно как-то проверять существование записи в mysql и получать на это вразумительный ответ ?

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
file_exists
« Ответ #1 : 08 Июля 2002, 14:27:53 »
Какой записи?
Если, например, надо проверить есть ли данный URL в базе, то делаешь следующее:
mysql_query("SELECT id FROM top WHERE url=\'$url\' LIMIT 1");
if (
mysql_num_rows==1) echo "Стоп!!! Такой URL уже есть!";
else 
mysql_query("INSERT INTO top VALUES (NULL, $url)");
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
file_exists
« Ответ #2 : 08 Июля 2002, 14:44:47 »
Alexandr

$result
=mysql_query("SELECT id FROM top WHERE url=\'$url\' LIMIT 1");
if (
mysql_num_rows($result)==1) echo "Стоп!!! Такой URL уже есть!";
else 
mysql_query("INSERT INTO top VALUES (NULL, $url)");


Может всё-таки вот так?
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
file_exists
« Ответ #3 : 08 Июля 2002, 15:27:19 »
AlieN
Цитировать
Может всё-таки вот так?

Точно!!!
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Covex

  • Только встал и уже устал.
  • Постоялец
  • ***
  • Сообщений: 208
  • +0/-0
  • 2
    • Просмотр профиля
file_exists
« Ответ #4 : 08 Июля 2002, 18:51:40 »
а что нельзя поле урл Unique сделать? При попытке инсерта  ужо существующего урла еррор будет.....
Цитировать
url=\'$url\' LIMIT 1

зачем лимит делать и mysql_num_rows($result)==1,  в принципе ведь если урлы уникальны то mysql_num_rows($result) либо ноль либо 1.

Оффлайн Covex

  • Только встал и уже устал.
  • Постоялец
  • ***
  • Сообщений: 208
  • +0/-0
  • 2
    • Просмотр профиля
file_exists
« Ответ #5 : 08 Июля 2002, 18:56:06 »
а вообще про это в Forum Webscript.Ru > Общие > Базы данных  писать лучше

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
file_exists
« Ответ #6 : 08 Июля 2002, 19:57:05 »
Covex
А при чем здесь инсерт? Проверка существования записи может быть необходима не только при вставки записи.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
file_exists
« Ответ #7 : 08 Июля 2002, 23:40:24 »
Ну, insert это так, пример.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
file_exists
« Ответ #8 : 09 Июля 2002, 07:51:04 »
Covex
Цитировать
зачем лимит делать

В этом-то вся и фишка, что если у тебя база 200\'000 записей, то зачем её всю просматривать, если тебе достаточно найти одну запись, чтобы убедиться в не уникальности.
Цитировать
а что нельзя поле урл Unique сделать

А эта мысля мне оч понравилась.
Ща пойду рейтинг оптимизить.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

 

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