php MYSQL中的多个AND OR语句

时间:2012-10-28 10:51:28

标签: php mysql

这似乎有点不对劲。我没有得到任何明显的错误,但它根本就没有做它应该做的事情。我倾向于OR语句出现问题,但是我将用户名放在parenth中,而id位置在parenth中,并且都不起作用。老实说,我只是在这里张贴这个,因为看着它的五个小时对我来说已经足够了。 希望某些东西看起来明显错误,并且它不在代码中的其他地方:/

$fetch_userone_idslots = mysql_query("SELECT id_1, id_2, id_3, id_4, id_5, id_6 FROM users WHERE id_1 = '$battle_id' || id_2 = '$battle_id || id_3 = '$battle_id || id_4 = '$battle_id || id_5 = '$battle_id || id_6 = '$battle_id && username == '$user_logged_in'");

while ($row = mysql_fetch_array($fetch_userone_idslots)){
$useroneidslot_1 = $row['id_1'];
$useroneidslot_2 = $row['id_2'];
$useroneidslot_3 = $row['id_3'];
$useroneidslot_4 = $row['id_4'];
$useroneidslot_5 = $row['id_5'];
$useroneidslot_6 = $row['id_6'];
}

3 个答案:

答案 0 :(得分:4)

您正在使用MySQL中不存在的==。仅使用=。您可以像这样简化查询

SELECT id_1, id_2, id_3, id_4, id_5, id_6 FROM users
WHERE '$battle_id' in (id_1, id_2, id_3, id_4, id_5, id_6) 
and username = '$user_logged_in'

答案 1 :(得分:1)

MySQL

您需要使用ANDOR而不是||&&。还有一件事没有==,只使用=

SELECT id_1, id_2, id_3, id_4, id_5, id_6 
FROM users 
WHERE (
      id_1 = '$battle_id' OR 
      id_2 = '$battle_id' OR  
      id_3 = '$battle_id' OR 
      id_4 = '$battle_id' OR  
      id_5 = '$battle_id' OR  
      id_6 = '$battle_id'
      ) AND 
      username = '$user_logged_in'

答案 2 :(得分:0)

编辑:

如果您需要方案,请不要使用==。在SQL ==中只有=。 SQL是不同的C,它是一种查询语言和语法不同,因为它用于不同的puprose。我的建议是遵循SQL sintax以避免类似的错误。