2015-04-15 4 views
0

Я пытаюсь сделать функцию поиска, но он терпит неудачу с этой ошибкой:Fetch ошибка массив

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /Applications/MAMP/htdocs/slipseknuden/soeg.php on line 35 

Код

$find = $_GET['id']; 
$sql = "SELECT * FROM produkt WHERE navn LIKE ‘%’“ . $find . “‘%’"; 
$result = mysqli_query($db, $sql); 

while($produkt = mysqli_fetch_array($result)) { 

echo $produkt['navn']; 

} 

линии 35

while($produkt = mysqli_fetch_array($result)) { 
+0

печать значение $ SQL, и вы увидите, что для ID, как 24, вы get ... LIKE '%' 24 '%', что недопустимо. – kainaw

+0

Не копируйте и не вставляйте код из Interwebs и не используйте MS Word в качестве среды разработки. – AbraCadaver

ответ

1

Во-первых, у вас есть фигурные котировки ‘ ’ “ в:

‘%’“ . $find . “‘%’ 

, которые должны быть изменены на регулярной ' и " типов. Плюс, слишком много цитат.

Выполните одно:

'%" . $find . "%' 

или

'%$find%' 
+0

Спасибо. Но это не изменило ошибку. – nireck

+0

@nireck Тогда ваш запрос не удался. Что передается в '$ find'? Сделайте 'var_dump()' –

+1

Слишком много синглов, 'LIKE '%'. $ Find."% '' – AbraCadaver

0

Попробуйте

$sql = "SELECT * FROM produkt WHERE navn LIKE '%{$find}%'";

Смежные вопросы