Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Je cherche à vérifier si l'utilisateur à déjà une équipe, si non lui proposé de créer une équipe.****

    function verify_team(){
        require_once 'inc/db.php';
            if(!isset($pdo)){
                global $pdo;
            }
        $auth_id = $_SESSION['auth']->id;
        $req = $pdo->prepare('SELECT * FROM users WHERE id = ? AND team_id IS NOT NULL')->execute([$auth_id]);
        debug($req);
        if($req == TRUE){
            echo "Vous avez déjà une équipe";
        }
        else{
            echo "Créer une équipe";
            }
    }

Ce que je veux

Je cherche à savoir si il existe une valeur dans la colonne team_id de la table users.

Ce que j'obtiens

J'obtient à chaque fois un mauvais résultat.

4 réponses


Salut,

Moi aussi j'attend la réponse à la question d'alexcan62.

Aussi,

Quand tu créer un utilisateur au début,
Est-ce que tu peux montrer le code de la requête SQL qui insère l'utilisateur en BDD ?
Si ça se trouve pour l'équipe, tu as mis un truc par défaut comme "0", ou "''" (chaine de caractères vide), et du coup ça ne corespondrai pas avec la requête que tu as montré.
J'en sais rien hein, j'essaie juste de deviner un peu au hasard.

La fonction "debug" est une fonction à toi, tu peux montrer son code ?
Et montrer ce qu'on voit dans les 3 débug si on en rajoute deux ?

 function verify_team(){
        require_once 'inc/db.php';
            if(!isset($pdo)){
                global $pdo;
            }
        debug($pdo); // Debug en plus <-----------
        $auth_id = $_SESSION['auth']->id;
        debug($auth_id); // Debug en plus <-----------
        $req = $pdo->prepare('SELECT * FROM users WHERE id = ? AND team_id IS NOT NULL')->execute([$auth_id]);
        debug($req);
        if($req == TRUE){
            echo "Vous avez déjà une équipe";
        }
        else{
            echo "Créer une équipe";
            }
    }

Hello !

Si tu veux juste vérifier la colone team_id pourquoi ne pas récupérer uniquement cette colone ?

$req = $pdo->prepare('SELECT team_id FROM users WHERE id = ?')->execute([$auth_id]);

Tu pourrais ensuite vérifier la valeur de team_id et afficher le message en conséquence.

s4uv4ge
Auteur

Bonsoir tout le monde et merci de vos réponses.
J'ai résolu le problème, en faisant notamment ce qu'a proposé Kant Destructor.

Merci

Parfait,

alors clic sur le bouton "cette réponse m'a aidé" ou un truc dans ce genre,
qui se trouve en haut à droite de la réponse de Kant Destructor.

Ça clôture le sujet,
et ça aide d'autres personnes qui auraient potentiellement le même genre de problème ;)