SELECT *来自哪个表?

时间:2015-04-18 10:44:17

标签: php mysql sql select

我正在研究这个有两个变量的地方

  • $ PMID
  • $ pmid2

一个包含很少变量和2个主要列的表,我将用于此脚本

  • PMID
  • pmid2

现在我想要它做的是检查$ pmid或$ pmid是否匹配表中的pmid或pmid2任何变量以匹配上述两个表列中的任何一个 这是我的剧本:

$selectpm = mysql_query("SELECT * FROM pm WHERE pmid=($chat_id OR $chat_id2) AND pmid2=($ chat_id OR $chat_id2)"); 

当然,我的代码是错误的,它只是我的坚韧它可以工作,但我不知道究竟应该如何工作谢谢!

3 个答案:

答案 0 :(得分:4)

这就是你如何做到的

SELECT * FROM pm 
WHERE 
( 
  pmid=$chat_id OR  pmid= $chat_id2
) 
AND (
 pmid2 = $chat_id OR pmid2 = $chat_id2
)


$selectpm = mysql_query(
"SELECT * FROM pm 
WHERE ( pmid=$chat_id OR  pmid= $chat_id2 )
 AND (pmid2 = $chat_id OR pmid2 = $chat_id2)"); 

更好的方法是将查询写入变量

$qry = "SELECT * FROM pm 
       WHERE 
       ( pmid=$chat_id OR  pmid= $chat_id2 )
       AND (pmid2 = $chat_id OR pmid2 = $chat_id2)" ;

$selectpm = mysql_query($qry);

答案 1 :(得分:3)

请使用:

 $selectpm = mysql_query("SELECT * FROM pm WHERE pmid
 IN($chat_id,$chat_id2) OR pmid2 IN($chat_id,$chat_id2)");

答案 2 :(得分:2)

您可以使用in子句

SELECT * FROM pm 
WHERE pmid in ($chat_id , $chat_id2)
AND pmid2 in ($chat_id , $chat_id2)