Compare plusieurs valeurs dans une table
Bonjour, j'ai un petit soucis de requête : j'ai une table "mesJeux" avec mes_jeux_id, card1, card2, card3, card4 et card5. Plusieurs enregistrement dans cette table.
j'ai une autre table "mesCartes" avec mes_cartes_id, card1, card2, card3, card4 et card5.
Ce que je veux faire est assez simple, je voudrais vérifier que mon jeu de carte (mes 5 cartes de la table mesCartes) existe ou pas dans la table mesJeux et s'il existe récupérer son ID.
L'ordre des cartes n'est pas fixe c'est a dire que les valeurs 10,35,15,54,87 correspondent au même jeu que 87,35,15,54,10.
j'ai essayé de faire
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public function ifDeckExist($card1, $card2, $card3, $card4, $card5)
{
$sql = "SELECT mesJeux_id FROM mesJeux WHERE card1 IN (?,?,?,?,?)";
$statement = $this->conn->prepare($sql);
if (!$statement)
throw new Exception($statement->error);
$statement->bind_param("iiiii", $card1, $card2, $card3, $card4, $card5);
$statement->execute();
$statement->bind_result($mesJeux_id);
$returnValue = array();
while ($statement->fetch()) {
$returnValue['id']=$mesJeux_id;
}
return $returnValue;
} |
mais ca ne marche pas, je ne sais pas si c'est le retour de variable qui ne va pas ou la syntaxe de ma requête.
Merci de votre aide
j'ai l'impression que j'ai un problème avec le bind_param