我有这张桌子:
table_id | table_who | table_to | table_text
1 | 2 | 1 | "sometext"
2 | 1 | 2 | "sometext"
3 | 1 | 2 | "sometext"
4 | 4 | 1 | "sometext"
5 | 5 | 2 | "sometext"
6 | 2 | 2 | "sometext"
我想选择table_who或table_to为" 2"的所有行。你能帮我吗?我是php和mysql中的verry noob。
提前致谢。
答案 0 :(得分:1)
在OR
条款中使用WHERE
条件,例如
WHERE 2 in (table_who , table_to);
(OR)
WHERE table_who = 2 OR table_to = 2;
根据您在帖子中的修改,使用IN
运算符并包含这些条件
where table_who in (1,2) and table_to in (1,2)
答案 1 :(得分:1)
$qry="select * from tableName where (table_who=2 or table_to=2)";
$result=mysqli_query($qry);
while($row=mysqli_fetch_assoc($result)){
echo $row['table_text'];
}
从数据库中简单选择。
答案 2 :(得分:0)
您只需使用此查询:
$sql = 'SELECT * FROM tablename WHERE table_who = 2 OR table_to = 2';
答案 3 :(得分:0)
感谢您的回答,但是甚至还会向我显示其他记录。
我想显示,例如,值2和1,只是table_id 1,2,3,6
查看架构:
table_who | table_to<br/>
1 | 1 (possible case)<br/>
1 | 2 (possible case)<br/>
2 | 2 (possible case)<br/>
2 | 1 (possible case)<br/>
只是这些记录我想看到1和2的结果,而不是全部。
非常感谢。
答案 4 :(得分:0)
您应该只使用OR运算符:
SELECT * FROM table WHERE table_who = 2 OR table_to = 2;