Когда я запрашиваю базу данных моего продукта, я получаю неполные результаты (как в PHP, так и в PhPMyAdmin).Запрос MySQL с LIKE возвращает неполные результаты
Таблица продуктов большая (159 колонок и в настоящее время 8000 строк). В одном столбце содержится название/название продукта (VARCHAR 255).
Вот некоторые из продуктов:
- Royal Club Wild Orange
- Royal Club Bitter лимон
- Royal Club Ginger Ale
- Royal Club Тоник
В PhpMyAdmin когда это Я запрашиваю таблицу:
SELECT * FROM `Nevo_Nutrient_Gehaltes`
WHERE `Product_omschrijving` LIKE '%royal%'
ORDER BY `Product_omschrijving` ASC
я получаю в результате:
- Royal Club Wild Orange
но не другие продукты ...
В PhpMyAdmin, когда я запрашиваю таблицу:
SELECT * FROM `Nevo_Nutrient_Gehaltes`
WHERE `Product_omschrijving` LIKE '%club%'
ORDER BY `Product_omschrijving` ASC
Получать результаты:
- Royal Club Wild Orange
- Royal Club Bitter лимон
- Royal Club Ginger Ale
- Royal Club Тоник
В PhpMyAdmin, когда я запрашиваю таблицу:
SELECT * FROM `Nevo_Nutrient_Gehaltes`
WHERE `Product_omschrijving` LIKE '%bitter%'
ORDER BY `Product_omschrijving` ASC
Я получаю результат: нет продуктов ...
Есть ли у кого-нибудь идеи, что может быть основной проблемой?
Я пытаюсь выяснить, что происходит. Возможно, что-то с настройкой в базе данных или количеством столбцов?
дополнение (Jan четвёртой 2017)
Я также использую эту таблицу в прогнозирующей функции поиска (с JQuery автозаполнения). Я поставил усеченную версию здесь:
http://www.personalbodycenter.nl/zzz_predictive_search.php
При просмотре исходного кода страницы вы можете увидеть, что поле availableTags содержит все продукты, которые находятся в MySql таблицы «Nevo_Nutrient_Gehaltes».
Теперь, когда вы вводите «королевский» в поле, вы получаете то же самое 9 (но неполное, должно быть 17), которое вы получите при запросе таблицы непосредственно в PhPMyAdmin.
Когда вы вводите «клуб» в текстовое поле, вы получаете все значения, которые вы должны получить из таблицы. И вы можете видеть, что в списке есть больше результатов с «королевским». Они также должны появиться, когда вы наберете «королевский»!
Как могут те же самые неполные результаты возникать через запрос mysql, а также через функцию jquery ?! Я могу ошибаться, но эти разные способы доступа к информации не должны быть связаны?
Я уже сделал много экспериментов с таблицей в PhpMyAdmin за счет уменьшения таблицы 2 колонки, изменяя параметры сортировки, изменяя движок базы данных, но не повезло до сих пор ...
Я поместил базу данных на месте тестирования, поэтому, если кто-то чувствует, что они могут мне помочь, войдя в PhPMyAdminto, просмотрите эту таблицу и посмотрите, что здесь происходит, я могу предоставить данные для входа ...
См. Http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- sql-query – Strawberry
Это может помочь показать нам схему таблицы. Я предполагаю, что эта проблема связана с кодировкой/сортировкой, в которой хранится таблица. –
моя догадка 'Product_omschrijving' не содержит слова, которые вы ищете, так как это« Описание », а не название продукта, может быть, вам нужно изменить это, чтобы быть другим столбцом? – cmorrissey