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

Zend Framework PHP Discussion :

Problème avec Zend_Db_Table_Abstract [ZF 1.11]


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 66
    Par défaut Problème avec Zend_Db_Table_Abstract
    Bonjour à tous,

    J'ai un problème récurent lorsque je cherche à récupérer un row avec autres chose que son id.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    	// getter db mapper
    	public function get($key) {
    		$db = $this->getDbTable();
    		$row = $db->fetchRow($db->select()->where('index = ?', $key));
                    if (0 == count($row)) {
                            return;
                    } else {
    			return $row->value;
    		}	
    	}
    Cette table contiens 5 champs

    id (int)
    index (varchar)
    value (varchar)
    lastupdate (int)

    Lorsque je recherche via id aucun problème (mais j'ai une méthode find pour ca), cependant lorsque je recherche avec autres chose que l'id en condition where j'obtiens l'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    An error occurred
     
    Application error
     
    Exception information:
     
    Message: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index = 'siteName') LIMIT 1' at line 1
    Merci de votre aide

  2. #2
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Bonjour,
    Utilise $this plutot que $db pour fetchRow

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Le premier parametre passer dans fitchRow est une condition alors tu poura faire directement t'a condtion dans le premier params
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $row = $db->fetchRow(array('index = ?' => $key));

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 66
    Par défaut
    Merci de vos réponses,

    A vrai dire j'ai essayé la plupart des syntaxes de la doc, avec ta syntaxe m4riachi j'obtiens toujours une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     <h3>Exception information:</h3>
      <p>
          <b>Message:</b> SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index = 'siteName') LIMIT 1' at line 1  </p>
    C'est quoi cette parenthèse dans ma condition?? J'en perd mon latin ma syntaxe est pourtant correct.

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 66
    Par défaut
    Ma configuration sur le serveur de dev:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    HP 5.3.10-1ubuntu3 with Suhosin-Patch (cli) (built: Apr 11 2012 17:25:33) 
    Copyright (c) 1997-2012 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
        with XCache v1.3.2, Copyright (c) 2005-2011, by mOo
        with Xdebug v2.2.0rc2, Copyright (c) 2002-2012, by Derick Rethans
     
     
    mysql  Ver 14.14 Distrib 5.5.22, for debian-linux-gnu (x86_64) using readline 6.2

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 66
    Par défaut
    Bug résolu,

    Le model instancié était un mapper alors que je devrai directement utilisé mon model DbTable pour faire ce genre de requête.

    Merci de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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