doudao3170 2014-11-11 07:06
浏览 74
已采纳

搜索涉及mysql中两个表的查询

I have two tables, users and sales. sales.userId = user.id I am trying to use following query. To search parameters in both users and sales.

SELECT * FROM sales INNER JOIN users ON users.id = sales.userId WHERE 'users.fullname' like '%Cloud%' OR 'users.storename' like '%cloud%' order by sales.id DESC

No result is showing up. What could be wrong in query.

e.g one user['fullname'] is CloudBuck Abc

if(isset($_GET["q"]) && $_GET["q"]!="")
{
    $q = trim($_GET["q"]);
    $where = "WHERE users.fullname like '%".$q."%' OR users.storename like '%".$q."%'";
}

$query = "SELECT * 
FROM sales 
INNER JOIN users ON users.id = sales.userId ".$where." order by sales.id DESC";
  • 写回答

3条回答 默认 最新

  • doutan2111 2014-11-11 07:09
    关注

    Remove the single qoutes around the column names:

    SELECT * 
    FROM sales 
    INNER JOIN users ON users.id = sales.userId 
    WHERE users.fullname like '%Cloud%' OR users.storename like '%cloud%' order by sales.id DESC
    

    Because mysql will use it as string if the single quote is set.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?