Php 如何比在代码中更容易地选择SQL?

Php 如何比在代码中更容易地选择SQL?,php,mysql,Php,Mysql,我可以在MySQL中使用循环进行选择吗 $sql="SELECT * FROM message_contact WHERE ( user1 = '$name1' OR user1 = '$name2' OR user1 = '$name3' OR user1 = '$name4' OR user2 = '$name1'

我可以在MySQL中使用循环进行选择吗

$sql="SELECT * 
        FROM message_contact 
       WHERE (    user1 = '$name1' 
               OR user1 = '$name2' 
               OR user1 = '$name3' 
               OR user1 = '$name4' 
               OR user2 = '$name1' 
               OR user2 = '$name2' 
               OR user2 = '$name3' 
               OR user2 = '$name4' ) 
         AND cantact_type = '1' 
       order by id asc ";

你可以这样重写它

选择*
来自消息\u联系人
其中触点类型=1
和((user1,user2)中的“$name1”)
或(user1,user2)中的“$name2”
或(user1、user2)中的“$name3”
或(user1,user2)中的“$name4”)
按id订购

您可以将name的变量分组并在子句中使用,就像

SELECT * 
  FROM message_contact
    WHERE contact_type = 1 
      AND (user1 IN($name1, $name2, $name3, $name4)
      OR (user2 IN($name1, $name2, $name3, $name4)
      OR (user3 IN($name1, $name2, $name3, $name4)
      OR (user4 IN($name1, $name2, $name3, $name4)
    ORDER BY id 

在子句中考虑<代码>,以与多个可能的值进行比较。