Forum Webscript.Ru
Программирование => PHP => Тема начата: alesh от 08 Июля 2002, 14:15:42
-
В php есть отличная функция file_exists , которая проверяет существование файла.
А можно как-то проверять существование записи в mysql и получать на это вразумительный ответ ?
-
Какой записи?
Если, например, надо проверить есть ли данный 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)");
-
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)");
Может всё-таки вот так?
-
AlieN
Может всё-таки вот так?
Точно!!!
-
а что нельзя поле урл Unique сделать? При попытке инсерта ужо существующего урла еррор будет.....
url=\'$url\' LIMIT 1
зачем лимит делать и mysql_num_rows($result)==1, в принципе ведь если урлы уникальны то mysql_num_rows($result) либо ноль либо 1.
-
а вообще про это в Forum Webscript.Ru > Общие > Базы данных писать лучше
-
Covex
А при чем здесь инсерт? Проверка существования записи может быть необходима не только при вставки записи.
-
Ну, insert это так, пример.
-
Covex
зачем лимит делать
В этом-то вся и фишка, что если у тебя база 200\'000 записей, то зачем её всю просматривать, если тебе достаточно найти одну запись, чтобы убедиться в не уникальности.
а что нельзя поле урл Unique сделать
А эта мысля мне оч понравилась.
Ща пойду рейтинг оптимизить.