IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

requête traitée comme étant classique alors quelle est de PDO


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Par défaut requête traitée comme étant classique alors quelle est de PDO
    Bonjour,

    Je veux faire liste liée et mon problème c'est que $id ce que je vois est vide il n'est pas passé en paramètre, il est passé direct dans cette fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    /**
    	 * Méthode qui retourne les info d'une région selon son id
    	 *
    	 * @param int $id
    	 * @return array
    	 */
    	public function getRegionById($id)
    	{
    		$prepare = $this->prepare('SELECT region_id, region_name
    		FROM region
    		WHERE region_id = "'.$id.'"');
    		$prepare->execute();
    		$region = $prepare->fetchAll();
     
    		return $region;	
    	}
    Je souhaite avoir une aide
    Merci d'avance

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par qqqqq Voir le message
    Cette fonctions que j'ai envoyer ne retourne pas résultat qu'est ce que je doit faire
    MERCI
    faudrait faire ca plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    /**
    * Méthode qui retourne les info d'une région selon son id
    *
    * @param int $id
    * @return array
    */
    public function getRegionById($id)
    {
    $prepare = $this->prepare('SELECT region_id, region_name
    FROM region
    WHERE region_id = ?');
    $prepare->execute(array($id));
    $region = $prepare->fetch();
     
    return $region;
    }
    mais t'as activé la gestion des erreurs pour PDO ?

  3. #3
    Membre très actif
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Par défaut
    +1 pour stealth35

    De plus si tu veux correctement protéger ta requête, et enjoliver ton code, tu peux pousser jusqu'à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public function getRegionById($id)
    {
     
    $statement = $this->prepare('SELECT region_id, region_name
    FROM region
    WHERE region_id = :id');
     
    $statement->bindValue(':id',$id,PDO::PARAM_INT)
     
    if ( FALSE === $statement->execute() )
        return FALSE
    else
        return $prepare->fetch();
     
    }
    Attention à tes noms de variables, prepare retourne un objet statement

    Autre point, pourquoi $this fait un prepare ??? Ta classe hérite de la classe PDO ?

Discussions similaires

  1. Réponses: 29
    Dernier message: 11/10/2011, 14h28
  2. Réponses: 35
    Dernier message: 09/04/2007, 00h17
  3. Réponses: 6
    Dernier message: 20/02/2007, 14h43
  4. Réponses: 17
    Dernier message: 17/11/2006, 11h00
  5. Réponses: 14
    Dernier message: 27/06/2005, 19h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo