@QPrincess

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

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

id   url

1    link1
2    link2
3    link3

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

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

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

Как правильно составить запрос на php?
  • Вопрос задан
  • 494 просмотра
Решения вопроса 1
@sidni
Php Developer
SELECT EXISTS(SELECT `id`  FROM `table` WHERE `url` = 'link2' LIMIT 1) AS exist
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
2ord
@2ord
продвинутый чайник
... LIMIT 1
и вместо * указать первичный ключ в таблице.
Ответ написан
felony13twelve
@felony13twelve
$sql = "SELECT id FROM table WHERE ID = 1";
$query = mysqli_query($sql);
$count = mysqli_num_rows($query);

if ($count > 0) {
   // Есть данные
} else {
   // Нет данных
}

А лучше используйте PDO
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега PHP
Но сами данные не нужны, нужно узнать только результат поиска нашли/не нашли.

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

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

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

Войти через центр авторизации
Похожие вопросы