Function accepter_demande() en pdo
Résolu
Zakarya93
Messages postés
984
Date d'inscription
Statut
Membre
Dernière intervention
-
Zakarya93 Messages postés 984 Date d'inscription Statut Membre Dernière intervention -
Zakarya93 Messages postés 984 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je dois convertir ce code mysql en pdo :
J'ai tenté, j'ai fais :
Pouvez-vous me corriger entièrement svp ? Merci d'avance :)
Je dois convertir ce code mysql en pdo :
//la function qui va verifier si le destinataire a accepté la demande function accepter_demande() { $query = mysql_query(" SELECT active FROM amis WHERE (pseudo_exp = '{$_SESSION['pseudo']}' AND pseudo_dest = '{$_GET['pseudo']}') OR (pseudo_exp = '{$_GET['pseudo']}' AND pseudo_dest = '{$_SESSION['pseudo']}') "); while($row = mysql_fetch_assoc($query)) { if($row['active'] == 0) { return false; }else{ return true; } }
J'ai tenté, j'ai fais :
//la function qui va verifier si le destinataire a accepté la demande function accepter_demande() { $bdd = new PDO('mysql:host=localhost;dbname=rs;charset=utf8', 'root', ''); //donc la, la verification: $req = $bdd->query('SELECT COUNT(*) FROM amis WHERE pseudo_exp="'.$pseudo_exp.'" AND pseudo_dest="'.$pseudo_dest.'"'); $etat = $req->fetchColumn(); if($row == 0){ return false; }else{ return true; } }
Pouvez-vous me corriger entièrement svp ? Merci d'avance :)
A voir également:
- Function accepter_demande() en pdo
- Multi-function hdd docking 893u3 driver download ✓ - Forum Disque dur / SSD
- (Function(){css.removeclass(document.body,%20'profile_two_columns'); tab_controller.changepage("photos");})() ✓ - Forum Access
- Call to undefined function mysqli_connect() ✓ - Forum PHP
- Facebook profil sans etre ami ✓ - Forum Facebook
- [VBS] Aide Sub/function - Forum VB / VBA
16 réponses
Pouvez-vous me corriger entièrement svp ? Merci d'avance :)
Ce coup-ci .. NON !
Tu vas pas nous demander de te corriger tous les codes du tuto que tu es en train de faire quand même ?????
Après ta question d'hier ... je pensais que tu essaierais de comprendre à minima ce que tu fais ... le tout .. en t'inspirant des NOMBREUX code qu'on t'a déjà corrigé ET Expliqué ...
Et bon.. je ne veux pas dire ... mais si tu regardes bien.. c'est pratiquement la même fonction que celle que je t'ai corrigé cette nuit !
Tu n'as qu'as t'en inspirer !
jordane45
Messages postés
38486
Date d'inscription
Statut
Modérateur
Dernière intervention
4 752
Comme je te l'ai fait remarqué dans une précédente discussion... si tu suis un TUTO c'est pour apprendre ..... pas pour que les gens ne viennent te corriger tes codes en permanence !
Bon aller ... je t'ai suffisamment fait réfléchir pour ce soir ...
//la function qui va verifier si le destinataire a accepté la demande function accepter_demande(){ global $bdd; //récupération des variables PROPREMENT ! $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; $sql = "SELECT active FROM amis FROM amis WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo) OR (pseudo_ dest = :get_pseudo AND pseudo_dest = :session_pseudo)"; // je place les params dans une variable avant de l'utiliser : $params = array('get_pseudo' => $pseudoGet, 'session_pseudo' => $pseudoSession) ; $query = $bdd->prepare($sql); $query ->execute($params); $result = $query->fetchall(); //On récupère le contenu de la colonne 'active' $active = $result[0]['active']; // le return : // si active == 0 on retourne false .. sinon true : return $active == 0 ? false : true ; }
c'est un pb de copier/coller
remplace le code :
remplace le code :
// je place les params dans une variable avant de l'utiliser : $params = array('get_pseudo' => $pseudoGet, 'session_pseudo' => $pseudoSession) ;
// je place les params dans une variable avant de l'utiliser : $params = array('get_pseudo' => $pseudo_exp , 'session_pseudo' => $pseudo_dest) ;
J'ai tenté de faire le code, je l'ai posté dites moi ce qui ne va pas svp
ok.. ce qui ne va pas donc :
- Pourquoi remets tu la connexion à ta BDD dans ta fonction ...... alors que tu disposes déjà d'une variable qui la contient ??
- Dans ton code... d'où provient la variable $row ?
- Où sont initialisées tes variables $pseudo_exp et $pseudo_sess ?
- Pourquoi ta requête n'est pas la même que celle de la fonction que tu essayes de traduire en pdo ??
Voila... si tu arrives à répondre à ces questions.. je penses que tu réussira à corriger ton code par toi même
- Pourquoi remets tu la connexion à ta BDD dans ta fonction ...... alors que tu disposes déjà d'une variable qui la contient ??
- Dans ton code... d'où provient la variable $row ?
- Où sont initialisées tes variables $pseudo_exp et $pseudo_sess ?
- Pourquoi ta requête n'est pas la même que celle de la fonction que tu essayes de traduire en pdo ??
Voila... si tu arrives à répondre à ces questions.. je penses que tu réussira à corriger ton code par toi même
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionglobal $bdd; // déclaration globale de BDD //récupération des variables PROPREMENT ! $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; // je mets la requête dans une variable AVANT de l'utiliser // PS : j'ai ajouté un ALIAS (COUNT(id_invitation) as NB) afin de pouvoir plus facilement // utiliser le résultat de la requête... $sql = "SELECT COUNT(id_invitation) as NB FROM amis WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo) OR (pseudo_ dest = :get_pseudo AND pseudo_dest = :session_pseudo)"; // je place les params dans une variable avant de l'utiliser : $params = array('get_pseudo' => $pseudoGet, 'session_pseudo' => $pseudoSession) ; $query = $bdd->prepare($sql); $query ->execute($params); $result = $query->fetchall(); //on récupère le NB de ta requête... $nb = $result[0]['NB']; //On fait un RETURN pour envoyer le résultat vers ton code... return $nb; }
ce serait bon comme ceci ?
//la function qui va verifier si le destinataire a accepté la demande function accepter_demande() global $bdd; // déclaration globale de BDD $req = $bdd->prepare('SELECT COUNT(*) FROM amis WHERE pseudo_exp=:pseudo_exp AND pseudo_dest=:pseudo_dest'); $req->execute(array(':pseudo_exp'=>$pseudo_exp, 'pseudo_dest'=>$pseudo_dest)); $check = $req->fetchColumn(); if($check > 0){ // Il y a des valeurs. soit return true; } else{ // Pas de valeur. soit return false; } }
Celui ci est bon ?
Ouii c'est une instruction qui va permettre d'interroger ma bdd
Et donc... pour ta fonction accepter_demande .. laquelle dois tu utiliser ?
PS: "qui va permettre d'interroger ma bdd" ... pas seulement... une requête peut permettre d'interroger une BDD ( requête SELECT ) .. de mettre à jour des champs dans une table ( requête UPDATE ) .. d'insérer des nouvelles données dans une table ( requête INSERT )...
PS: "qui va permettre d'interroger ma bdd" ... pas seulement... une requête peut permettre d'interroger une BDD ( requête SELECT ) .. de mettre à jour des champs dans une table ( requête UPDATE ) .. d'insérer des nouvelles données dans une table ( requête INSERT )...
.......... tu me dis savoir ce qu'est une requête SQL ....et tu n'es pas en mesure de me dire laquelle tu dois utiliser ?
Pour t'aider : indique nous, la requête utilisée dans le code que tu posté dans ta question.... (le code que tu veux convertir en PDO ) ...
Autrement dit ... que contient la variable $sql ??
Pour t'aider : indique nous, la requête utilisée dans le code que tu posté dans ta question.... (le code que tu veux convertir en PDO ) ...
Autrement dit ... que contient la variable $sql ??
$sql =" SELECT active FROM amis WHERE (pseudo_exp = '{$_SESSION['pseudo']}' AND pseudo_dest = '{$_GET['pseudo']}') ";
c'est bien celle là ...
Sauf qu'en l'état ... les variables ne sont pas bien passées ....
Il faut que tu utilises la syntaxe de la pdo...
Comme dans le code :
Sauf qu'en l'état ... les variables ne sont pas bien passées ....
Il faut que tu utilises la syntaxe de la pdo...
Comme dans le code :
$sql = "SELECT COUNT(id_invitation) as NB FROM amis WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo) OR (pseudo_ dest = :get_pseudo AND pseudo_dest = :session_pseudo)"; // je place les params dans une variable avant de l'utiliser : $params = array('get_pseudo' => $pseudoGet, 'session_pseudo' => $pseudoSession) ; $query = $bdd->prepare($sql); $query ->execute($params); $result = $query->fetchall();
Merci vous êtes trop sympathique ^^
sinon j'ai 3 erreurs :
Notice: Undefined variable: pseudoGet in C:\wamp\www\rs\functions\profile.func.php on line 63
Notice: Undefined variable: pseudoSession in C:\wamp\www\rs\functions\profile.func.php on line 63
Notice: Undefined offset: 0 in C:\wamp\www\rs\functions\profile.func.php on line 70
sinon j'ai 3 erreurs :
Notice: Undefined variable: pseudoGet in C:\wamp\www\rs\functions\profile.func.php on line 63
Notice: Undefined variable: pseudoSession in C:\wamp\www\rs\functions\profile.func.php on line 63
Notice: Undefined offset: 0 in C:\wamp\www\rs\functions\profile.func.php on line 70
<?php //----------------------------- //Profile.func.php //----------------------------- // la fonction qui va recuperer les informations de la personne choisie par l'utilisateur function recuperer_info_membre_choisi($pseudo = NULL) { global $bdd; // déclaration globale de BDD $result = array(); $sql = "SELECT * FROM utilisateurs WHERE pseudo=:pseudo" ; $query = $bdd->prepare($sql); $query->execute(array(':pseudo' =>$pseudo)); $result=$query->fetchall(); return $result; } //la function qui va vérifier si une demande existe entre les deux membres function demande_existe() { global $bdd; // déclaration globale de BDD //récupération des variables PROPREMENT ! $pseudoSession = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudoGet = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; // je mets la requête dans une variable AVANT de l'utiliser // PS : j'ai ajouté un ALIAS (COUNT(id_invitation) as NB) afin de pouvoir plus facilement // utiliser le résultat de la requête... $sql = "SELECT COUNT(id_invitation) as NB FROM amis WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo) OR (pseudo_exp = :get_pseudo AND pseudo_dest = :session_pseudo)"; // je place les params dans une variable avant de l'utiliser : $params = array('get_pseudo' => $pseudoGet, 'session_pseudo' => $pseudoSession) ; $query = $bdd->prepare($sql); $query ->execute($params); $result = $query->fetchall(); //on récupère le NB de ta requête... $nb = $result[0]['NB']; //On fait un RETURN pour envoyer le résultat vers ton code... return $nb; } //la function qui va verifier si le destinataire a accepté la demande function accepter_demande(){ global $bdd; //récupération des variables PROPREMENT ! $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; $sql = "SELECT active FROM amis FROM amis WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo) OR (pseudo_ dest = :get_pseudo AND pseudo_dest = :session_pseudo)"; // je place les params dans une variable avant de l'utiliser : $params = array('get_pseudo' => $pseudoGet, 'session_pseudo' => $pseudoSession) ; $query = $bdd->prepare($sql); $query ->execute($params); $result = $query->fetchall(); //On récupère le contenu de la colonne 'active' $active = $result[0]['active']; // le return : // si active == 0 on retourne false .. sinon true : return $active == 0 ? false : true ; }
J'ai toujours ce : Notice: Undefined offset: 0 in C:\wamp\www\rs\functions\profile.func.php on line 70
malgré la modif ligne 70
malgré la modif ligne 70
<?php //----------------------------- //Profile.func.php //----------------------------- // la fonction qui va recuperer les informations de la personne choisie par l'utilisateur function recuperer_info_membre_choisi($pseudo = NULL) { global $bdd; // déclaration globale de BDD $result = array(); $sql = "SELECT * FROM utilisateurs WHERE pseudo=:pseudo" ; $query = $bdd->prepare($sql); $query->execute(array(':pseudo' =>$pseudo)); $result=$query->fetchall(); return $result; } //la function qui va vérifier si une demande existe entre les deux membres function demande_existe() { global $bdd; // déclaration globale de BDD //récupération des variables PROPREMENT ! $pseudoSession = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudoGet = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; // je mets la requête dans une variable AVANT de l'utiliser // PS : j'ai ajouté un ALIAS (COUNT(id_invitation) as NB) afin de pouvoir plus facilement // utiliser le résultat de la requête... $sql = "SELECT COUNT(id_invitation) as NB FROM amis WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo) OR (pseudo_exp = :get_pseudo AND pseudo_dest = :session_pseudo)"; // je place les params dans une variable avant de l'utiliser : $params = array('get_pseudo' => $pseudoGet, 'session_pseudo' => $pseudoSession) ; $query = $bdd->prepare($sql); $query ->execute($params); $result = $query->fetchall(); //on récupère le NB de ta requête... $nb = $result[0]['NB']; //On fait un RETURN pour envoyer le résultat vers ton code... return $nb; } //la function qui va verifier si le destinataire a accepté la demande function accepter_demande(){ global $bdd; //récupération des variables PROPREMENT ! $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; $sql = "SELECT active FROM amis FROM amis WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo) OR (pseudo_ dest = :get_pseudo AND pseudo_dest = :session_pseudo)"; // je place les params dans une variable avant de l'utiliser : $params = array('get_pseudo' => $pseudo_exp , 'session_pseudo' => $pseudo_dest) ; $query = $bdd->prepare($sql); $query ->execute($params); $result = $query->fetchall(); //On récupère le contenu de la colonne 'active' $active = isset($result) ? $result[0]['active'] : 0; // le return : // si active == 0 on retourne false .. sinon true : return $active == 0 ? false : true ; }