Erro ao comparar conteudo do Array com BD em PHP

Galera, estou tentando criar um programinha em PHP que gere numeros para jogos de loteria como Mega Sena, Quina etc. Fiz um formulario com os campos NumerodeJogos, QuatidadeDezenas, IniciandoEm e TerminandoEm. O programa deve pegar esses dados e gerar as dezenas aleatórias, depois embaralha os numeros, retira a quantidade de dezenas que tem no campo e depois ordena. Daí, o sistema deve pegar as dezenas escolhidas e fazer um SELECT no banco de dados para ver se aquelas dezenas já existem, se encontrar ele guarda numa variavel. Depois uso uma função que verifica se o conteudo da variavel existe no BD, se ele existir é eliminado, se não ele joga no array $jogos. mas está ocorrendo um erro e nao to conseguindo corrigir. Alguem poderia dar uma força ???? Criei o seguinte código:


Código:
<?php
// verifica se o jogo já existe no banco
 
function ja_existe($jogo, $stmt) {
    $stmt->execute($jogo);
    return $stmt->fetchColumn() > 0;
}
 
$Servidor = "localhost";
$Banco = "megasena";
$Usuario = "root";
$Senha = "";
 
 
 
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $Numjogos = $_POST["jogos"];
    $Qtydezenas = $_POST["dezenas"];
    $Valormin = $_POST["de"];
    $Valormax = $_POST["ate"];
    $jogos = [];
    $sorteio =[];
    $numeros = array_map(function($n) { return sprintf("%02d", $n); }, range($Valormin, $Valormax));
}
 
 
    $Conn = new PDO("mysql:host=$Servidor;dbname=$Banco", $Usuario, $Senha);
 
    for ($i = 1; $i <= $Numjogos; $i++) {
        while (true) {
            // embaralho os numeros gerados
            shuffle($numeros);
          
            // retiro a quantidade de dezenas indicada no campo numero de jogos
            $sorteio = array_slice($numeros, 0, $Qtydezenas);
          //$sorteio = [10, 11, 29, 30, 36, 47];
 // aqui eu ordeno as dezenas escolhidas
            sort($sorteio);
            // e então faço a busca no BD
            $stmt = $Conn->prepare('SELECT * FROM sorteio WHERE dez1 = :d1 AND dez2= :d2 AND dez3= :d3 AND dez4= :d4 AND dez5= :d5 AND dez6= :d6');
            $stmt->bindValue(":d1", $sorteio[0]);
            $stmt->bindValue(":d2", $sorteio[1]);
            $stmt->bindValue(":d3", $sorteio[2]);
            $stmt->bindValue(":d4", $sorteio[3]);
            $stmt->bindValue(":d5", $sorteio[4]);
            $stmt->bindValue(":d6", $sorteio[5]);
            $stmt->execute();
            $dezenas = $stmt->fetch();
            
             ?> <br> <br>
            <?php
 
            // se não é jogo repetido, adiciona no Array $jogos
            // A função deveria verificar se a combinação gerada já existe no BD, mas ta dando erro
 
            if (!ja_existe($jogo, $stmt)) {
                $jogos[] = $jogo;
                echo "<pre>";
                print_r($jogos);
               // exit;
   // echo "Esse jogo nao existe: " .implode(', ', $sorteio). "<br>\n";
   break;
            }else{
                echo "Esse jogo já existe: " .implode(', ', $sorteio). "<br>\n";
      
            }
          
        }
    
        var_dump($jogos);
 ?> <br> <br> <br> <br>
 <?php
 
foreach ($jogos as $jogo) {
    // aqui eu gostaria de colocar um INSERT para passar os jogos gerados
    //do Array $jogos para a tabela sorteio, e gostaria de imprimir na tela as cobinações
    
    "<br>\n" ;"<br>\n";
    echo "Os Jogos são: " .implode(', ', $jogo). "<br>\n";
}
 
}
?>
 
<form method="POST">
 
Numero de Jogos: <input type="text" size="10" name="jogos"> <br>
Quantidade de Dezenas em cada jogo: <input type="text" size="10" name="dezenas"> <br>
Iniciando em: <input type="text" size="5" name="de"> indo até:<input type="text" size="5" name="ate"> <br><br><br>
<input type="submit" name="BTEnvia" value="Enviar">  <input type="reset" name="BTApaga" value="Apagar">
        
<?php
 
?>
    
</body>
</html>
<br><br><br><br>
 
Back
Topo