Я запускаю запрос в PHP, и я получаю множество результатов. Вот запрос:Почему мой запрос MySQL возвращает неверные данные с значениями IN
mysql> SELECT `location` FROM `listings` WHERE `fulltext` LIKE '%a%' OR `title` LIKE
'%a%' AND location IN(33702,33709,33714,33716,33760,33762,33771,33773,33777,33781,33782)
ORDER BY `date` DESC \g
и это ЦМД результат, который я получаю, который соответствует именно то, что я получаю в PHP перспективе:
+----------+
| location |
+----------+
| 78787 |
| 33782 |
| 33782 |
| 98102 |
| 33782 |
| 33782 |
| 33782 |
| 33782 |
| 33782 |
| 56564 |
| 44569 |
| 33782 |
| 33782 |
+----------+
13 rows in set (0.00 sec)
Как вы можете видеть, что я не должен быть получая 78787,98102,56564 или 44569. Кто-нибудь видит, что может быть неправильным в запросе. Дайте мне знать, если вам нужна дополнительная информация.
P.S. Первоначально я использовал эту настройку для использования RLIKE, и это будет снова, как только я это выясню.
Два слова: приоритет оператора – Barmar
группировать ваше условие «ИЛИ», например. 'WHERE (\' fulltext \ 'LIKE ..... ИЛИ title LIKE ...) AND location IN()' –
Спасибо, что так много ... Parens работал. –