PHP SQL - 搜索与相同玩家的匹配

时间:2018-04-29 01:47:50

标签: php sql arrays mysqli

良好的早晨'。 我一直在尝试制作一些东西"这将比较对战比例,但我在寻找与2名相同球员的比赛时陷入困境。

我发现了一些关于AND OR括号的内容,所以这里是我的sql查询

        $ccc = "SELECT * FROM zapasy WHERE (playerName01 = '".$player1."' OR playerName01 ='".$player2."') AND (playerName02 = '".$player2."' OR playerName02='".$player1."')";
        $result3 = $db->query($ccc);
        $ids = array();

        while ($row55 = $result3->fetch_assoc())
        {

$ids[] = $row55['winner'];


        }

但问题是,无论何时我试图获取数据,它都会给我提供比实际预期更多的索引。 这是在获取后打印数组值的结果。

Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 ) 

正如您在此处的数据库示例中所见,正如预期的那样只有2 3 4。 db sample

关于我做错了什么的任何建议?

2 个答案:

答案 0 :(得分:1)

在where子句

中使用AND OR时出错了
$ccc = "SELECT * FROM zapasy WHERE (playerName01 = '".$player1."' AND playerName02 ='".$player2."') OR (playerName01 = '".$player2."' AND playerName02='".$player1."')";

试试这个@Patrik Dano

答案 1 :(得分:1)

在MySQL中编写此代码的简单方法是使用元组:

where (?, ?) in ( (playername01, playername02), (playername02, playername01) )

?用于参数。这应该是您将值传递给查询的方式。