Member 13783252 Ответов: 1

Хочу создать строку поиска для сайта, но при использовании "или" я получил ошибку


i got error as mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean from below code

     $search = strtolower($_GET['searchbox']);
      $search =mysqli_real_escape_string($con1,$search);

              $search_exploded = explode ( " ", $search );
                    $construct = '';
                     foreach( $search_exploded as $search_each ) {
                         $construct .= " OR title LIKE '%$search_each%'";
                    }


    $construct="SELECT * FROM vdo WHERE $construct ";
    $query=mysqli_query($con1,$construct);
    while($row=mysqli_fetch_assoc($query)){
	    echo $title=$row['title'];
    }


Что я уже пробовал:

я хочу сопоставить результат поиска с любым одним или двумя или всеми искомыми словами с помощью satabase ,это можно сделать с помощью или Boolean, но это дает мне ошибку, так что я могу изменить или, пожалуйста, опубликовать answeared код

Bryian Tan

какое условие перед операцией? Код должен иметь что-то вроде
$construct .= "fruit=apple или заголовок типа '%$search_each%'"

Member 13783252

использование и insted кода OR работает нормально но я хочу его с OR

1 Ответов

Рейтинг:
8

Jochen Arndt

При добавлении первого условия к $construct то OR должно быть опущено:

foreach ( $search_exploded as $search_each ) {
    if (!empty( $construct )) {
        $construct .= " OR";
    }
    $construct .= " title LIKE '%$search_each%'";
}


Member 13783252

спасибо братан это работает после долгих трат времени