$stmt = $this->db->prepare("SELECT * FROM messages WHERE chatId = (:chatId) AND id < (:msgId) AND removeAt = 0 ORDER BY id DESC LIMIT 20");
$stmt->bindParam(':chatId', $chatId, PDO::PARAM_INT);
$stmt->bindParam(':msgId', $msgId, PDO::PARAM_INT);
Данный код получает 20 сообщений с чата. Как получить 20 сообщений с непустым imgUrl
?
Попробуй вот так:
$stmt = $this->db->prepare("SELECT * FROM messages WHERE chatId = (:chatId) AND id < (:msgId) AND removeAt = 0 AND imgUrl <> '' ORDER BY id DESC LIMIT 20");
$stmt->bindParam(':chatId', $chatId, PDO::PARAM_INT);
$stmt->bindParam(':msgId', $msgId, PDO::PARAM_INT);
Если imgUrl
это колонка в таблице, то надо добавить условие
imgUrl IS NOT NULL AND imgUrl != ''
$stmt = $this->db->prepare("SELECT * FROM messages WHERE chatId = (:chatId) AND id < (:msgId) AND removeAt = 0 AND (imgUrl IS NOT NULL AND imgUrl != '') ORDER BY id DESC LIMIT 20");
UPD. По поводу двух условий.
Как заметил @Akina в данном случае и правда можно обойтись одной проверкой != ''
.
Я использую две по привычке от обратного сравнения, когда надо выбрать пустые поля, тогда все же необходимо 2 проверки.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я никогда разработкой сайтов не занималась, но вот пришлось:) Сайт dona-telaby Форма в самом низу
Пытаюсь работать с платёжной системой liqpay, в апи настраиваются два url: result_url и server_urlПервый отправляет пользователя на эту страницу, если он перейдёт...
Мне нужно дать пользователю делиться абсолютно любым файлом, при этом при загрузке на сервер использовать минимум проверок