как найти точные слова из предложения в mysql, например, в таблице есть столбец где находится категории "music","movie" и в поиске пользователь введет не слово, а допустим, большое предложение "shoping music world movie travel news" а в ответ он получит столбцы "music" и "movie"?
Когда же вы начнете хотя бы просматривать информацию на первоисточнике перед заданием вопроса, а не спрашивать очевидное и описанное в документации? (Не лично к Вам, @Kizat Suleimenov, - ко всем вопрошающим об очевидных вещах.) Ведь даже вся документация на русском языке доступна, читай - не хочу!.. :(
Приведенные варианты решения задачи созданы методом копипаста из примеров документации с незначительными правками.
Вариант 1.
function find_by_words(string $input_string) {
$words = str_word_count($input_string, 1);
if (!empty($words)) {
$result = db_find_by_words($words);
return $result;
}
return null;
}
function db_find_by_words(array $words) {
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'database');
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
return null;
}
$string = implode('% OR category LIKE %', $words);
$query = 'SELECT * FROM table WHERE category LIKE %' . $string . '%';
$query_result = $mysqli->query($query);
if ($query_result === false) {
echo 'Query error: ', $mysqli->error, "\n";
return null;
}
$result = [];
while ($row = $query_result->fetch_assoc()) {
$result[] = $row;
}
return $result;
}
Вариант 2. Функция db_find_by_words() берется из предыдущего примера.
function find_by_words(string $input_string) {
$input_string = str_replace(['.', ',', ':', '!', '?'], ' ', trim($input_string));
$input_string = str_replace(' ', ' ', $input_string);
$words = explode(' ', $input_string);
if (!empty($words)) {
$result = db_find_by_words($words);
return $result;
}
return null;
}
Использованные методы PHP mysqli::query(), mysqli_result::fetch_assoc()
Используемый оператор MySQL LIKE
P.S. Если очень захочется посмотреть, что находится в переменной, то есть еще var_dump().
P.P.S. Если после тщательного изучения документации по указанным мною ссылкам останутся вопросы - я не виноват! RTFM рулит.
P.P.P.S. Чувствую себя соавтором методички для студентов первого курса обучения... :(
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня есть поле с картинкой (Input type file), если его заполнить (То-есть указать путь к картинке) то скрипт сработает, но если не заполнять то скрипт...
Подскажите, почему срабатывает только первый case, а второй нет?
Есть тесты, которые выполняются и записывают некоторые данные в бдЕсть метод в конце, который должен сделать запрос в бд и вытащить данные