SQL搜索语法错误

时间:2013-06-11 08:34:16

标签: php mysql sql

我无法看到我的语法错误在哪里,从我能看到的一切看起来都很好,尝试查看堆栈,一切看起来都很好。

错误(查询失败:您的SQL语法中有错误;请检查与您的MySQL服务器版本对应的手册,以便在第1行使用'like'%no search%'附近使用正确的语法

    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;
    }

任何帮助都非常感谢:)

5 个答案:

答案 0 :(得分:4)

你错过了WHERE条件?

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

答案 1 :(得分:2)

您的查询中缺少条件.....

SELECT * FROM <TableName> WHERE <ColumnName> LIKE condition

答案 2 :(得分:1)

没有where子句

SELECT * FROM products  LIKE'%$find%'

应该变得像

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

答案 3 :(得分:1)

您在条件

中缺少列名

试试

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

答案 4 :(得分:1)

WHERE和[列名]缺失

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