0

我看不到我的语法错误在哪里,从我所看到的一切看起来都很好,试着环顾堆栈,一切看起来都很好。

错误(查询失败:您的 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;
    }

非常感谢任何帮助:)

4

5 回答 5

4

你错过了WHERE条件?

SELECT * FROM products WHERE <column name> LIKE'%$find%' 
于 2013-06-11T08:37:01.853 回答
2

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

SELECT * FROM <TableName> WHERE <ColumnName> LIKE condition
于 2013-06-11T08:39:58.193 回答
1

没有where子句

SELECT * FROM products  LIKE'%$find%'

应该变成类似的东西

SELECT * FROM products WHERE name LIKE'%$find%'
于 2013-06-11T08:37:25.867 回答
1

您在条件中缺少列名

你试一试

SELECT * FROM products WHERE <column name> LIKE '%$find%' 
于 2013-06-11T08:38:34.733 回答
1

WHERE和 [column name] 缺失

 SELECT * FROM products WHERE [column name] LIKE '%$find%'
于 2013-06-11T08:39:26.533 回答