繁体   English   中英

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

[英]Search query involving two tables in mysql

我有两个表,用户和销售。 sales.userId = user.id我正在尝试使用以下查询。 在用户和销售中搜索参数。

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

没有结果显示。 查询中可能出了什么问题。

例如,一个user['fullname']是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";

您正在引用字段名称,但不允许使用该名称,如果保留字使用反引号或不使用它。

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

删除列名称周围的单个qoutes:

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

因为如果设置了单引号,mysql会将其用作字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM