首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅显示唯一ids的Mysql连接

问仅显示唯一ids的Mysql连接
EN

Stack Overflow用户
提问于 2011-10-13 06:16:55
回答 2查看 327关注 0票数 0

我正在尝试使用sql查询,但我得到了多次相同的结果。

我读到我必须使用内连接或左连接来避免这种情况。唯一的问题是,我是mysql的新手,所以我实际上不能成功地进行查询。

查询是这样的

代码语言:javascript
复制
SELECT * 
FROM table1,table2 
WHERE table1.name LIKE '%$str%' 
OR 
table1.last_name LIKE '%$str%'

$str是一个字符串,我将其传入php函数以便进行搜索。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-13 06:19:39

您需要在这两个表之间建立连接。

代码语言:javascript
复制
SELECT * 
FROM table1
INNER JOIN table2
   ON table1.key = table2.key
WHERE table1.name LIKE '%$str%' 
OR 
table1.last_name LIKE '$str%'

您还应该使用mysql_real_escape_string来防止SQL注入。

代码语言:javascript
复制
$query = "SELECT * 
FROM table1
INNER JOIN table2
   ON table1.key = table2.key
WHERE table1.name LIKE '%" . mysql_real_escape_string($str) ."%' 
OR 
table1.last_name LIKE  '%" . mysql_real_escape_string($str) ."%'";

以下是有关escape string的文档。

票数 0
EN

Stack Overflow用户

发布于 2011-10-13 06:19:50

您可以尝试:

代码语言:javascript
复制
SELECT DISTINCT t1,*, t2.* 
FROM table1 t1 INNER JOIN table2 t2
ON t1.id = t2.table1_id 
WHERE 
    table1.name LIKE '%$str%' OR 
    table1.last_name LIKE '%$str%'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7747256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档