Requête SQL Equipe

Par s4uv4ge, il y a 8 ans


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

SLK, il y a 8 ans

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"; } }
Kant Destructor, il y a 8 ans

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, il y a 8 ans

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

SLK, il y a 8 ans

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 ;)