0

这似乎有什么问题。我没有得到任何明显的错误,但它根本没有做它应该做的事情。我倾向于 OR 语句存在问题,但我已将用户名放在括号中,将 id 插槽放在括号中,但都不起作用。老实说,我只是在这里发布这个,因为五个小时的时间对我来说已经足够了。希望有些东西看起来明显错误,并且不在代码中的其他地方:/

$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'];
}
4

3 回答 3

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'
于 2012-10-28T10:53:32.363 回答
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'
于 2012-10-28T10:52:54.903 回答
0

编辑:

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

于 2012-10-28T10:53:06.723 回答