PHP SQL - поиск совпадений с теми же игроками - PullRequest
0 голосов
/ 29 апреля 2018

Доброе утро. Я пытался сделать «что-то», которое будет сравнивать процент совпадений, но я застрял при поиске матчей с двумя одинаковыми игроками.

Я нашел кое-что о скобках AND ИЛИ, вот мой 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, как вы можете видеть в примере БД здесь. дБ образца

Кто-нибудь подскажет, что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2018

Простой способ написать это в MySQL использует кортежи:

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

? для параметров. Это должно быть способом передачи значений в запросы.

0 голосов
/ 29 апреля 2018

Вы делаете неправильно при использовании AND ИЛИ в предложении where

$ccc = "SELECT * FROM zapasy WHERE (playerName01 = '".$player1."' AND playerName02 ='".$player2."') OR (playerName01 = '".$player2."' AND playerName02='".$player1."')";

Попробуйте это @Patrik Dano

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...