@QPrincess

Узнать есть ли запись в таблице mysql?

Есть таблица:

id   url

1    link1
2    link2
3    link3

Делаем запрос и если совпадение есть, то делаем одно, если ответ false, то делаем другое. Но сами данные не нужны, нужно узнать только результат поиска нашли/не нашли.

$sql  = "SELECT *  FROM `table` WHERE `url` = 'link2'";

if (совпадение есть, то) {
     echo "+";
} else {
     echo "-";
}

Как правильно составить запрос на php?
  • Вопрос задан
  • 3474 просмотра
Решения вопроса 1
@sidni
Php Developer
SELECT EXISTS(SELECT `id`  FROM `table` WHERE `url` = 'link2' LIMIT 1) AS exist
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
2ord
@2ord
... LIMIT 1
и вместо * указать первичный ключ в таблице.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Но сами данные не нужны, нужно узнать только результат поиска нашли/не нашли.

требование бессмысленное. Проверка наличия - это и есть проверка данных.
То есть никакой "особенный" запрос в общем случае писать на надо, твой
$sql  = "SELECT *  FROM `table` WHERE `url` = 'link2'";
прекрасно подойдет.
Сделать обычный фетч и посмотреть, вернул ли он что-нибудь.

Если хочется заняться совсем уж микрооптимизацией, то вместо * можно написать константное значение, например 1.
Если строк может быть много, то запросить count(*) и проверить, ноль - не ноль.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы