2013-06-11 4 views
0

Я не могу видеть, где моя синтаксическая ошибка, все это прекрасно выглядит из-за того, что я вижу, попробовал оглядеться вокруг стека, и все выглядит нормально.Ошибка синтаксиса поиска SQL

Ошибки (Сбой запроса: У вас ошибка в вашем синтаксисе SQL, проверьте руководство, которое соответствует Вашей версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом «как"% не поиск%»в строке 1)

if (isset($_POST["find"]) && !empty($_POST["find"])) { 
     $find = $_POST["find"]; 
     $find = strtoupper($find); 
     $find = strip_tags($find); 
     $find = trim ($find); 

    }else{ 
     $find = "no search"; 
    } 


    DB::init(); 
    $result = DB::Query("SELECT * FROM products like '%$find%' "); 
    if(!$result) { 
     die("Query failed: ".DB::LastError()); 
    } 
    if($result->num_rows ==0) {  
    } 

    $result_list = array(); 

    while($row = $result->fetch_assoc()) { 
      $result_list[] = $row; 
    } 

Любая помощь очень благодарил :)

+0

имя таблицы в порядке, я могу получить все результаты, чтобы показать, когда Я удаляю подобное «% $ find%» – Brent

+1

, где не хватает условия. –

+0

жаль меня быть глупым, я думал, что вы можете искать все столбцы. – Brent

ответ

4

вы пропустите условие WHERE? не

SELECT * FROM products WHERE <column name> LIKE'%$find%' 
1

нет, где положение

SELECT * FROM products LIKE'%$find%' 

должен стать чем-то вроде

SELECT * FROM products WHERE name LIKE'%$find%' 
+0

Глупо мне спасибо! – Brent

1

Вы пропускаете имя столбца в состоянии

просто попробовать

SELECT * FROM products WHERE <column name> LIKE '%$find%' 
1

WHERE и [имя столбца] отсутствуют

SELECT * FROM products WHERE [column name] LIKE '%$find%' 
2

Где условие отсутствует в запросе .....

SELECT * FROM <TableName> WHERE <ColumnName> LIKE condition 
Смежные вопросы