$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 проверки.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Я никогда разработкой сайтов не занималась, но вот пришлось:) Сайт dona-telaby Форма в самом низу
Пытаюсь работать с платёжной системой liqpay, в апи настраиваются два url: result_url и server_urlПервый отправляет пользователя на эту страницу, если он перейдёт...
Мне нужно дать пользователю делиться абсолютно любым файлом, при этом при загрузке на сервер использовать минимум проверок