Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-09-2011 23:41:53

keokaz
Membre
Date d'inscription: 06-07-2011
Messages: 113

[debutant]comment utliser correctement class base de donnee adapter?

Bonsoir, je fait un test simple de requete ,
mis à par fetchAll() c'est tous ce que je fais faire sad
j'ai essayer ceci

Code:

[lang=php]
<?php

class Application_Model_DbTable_Cp extends Zend_Db_Table_Abstract
{

    protected $_name = 'cp';
    
    public function requete()
    {
           $dbAdapter = new Zend_Db_Adapter_Pdo_Mysql(array('dbname' =>
                                                  ':memory:'));
           //var_dump($dbAdapter);
           
           $sql="SELECT * FROM cp WHERE Ville = 'LYON' ";
           $dbAdapter->query($sql);
    
    }


}

j'ai un erreur il me demande un mots de pass et un login, pourant sur l'application ini il y a toute le info ?

comment je procède pour faire cette requête simple ?

merci d'avance de vos réponse smile

Dernière modification par keokaz (05-09-2011 13:10:43)

Hors ligne

 

#2 02-09-2011 07:30:34

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [debutant]comment utliser correctement class base de donnee adapter?

Bonjour,

Pourquoi avoir remis un new DB adapter ?

Et pourquoi écrire ton SQL toi même pour quelque chose d'aussi simple ?

Code:

[lang=php]
<?php
 
class Application_Model_DbTable_Cp extends Zend_Db_Table_Abstract
{
 
    protected $_name = 'cp';
     
    public function requete()
    {
           return $this->fetchAll("Ville = 'LYON'");
    }
 
 
}

Hors ligne

 

#3 05-09-2011 13:08:37

keokaz
Membre
Date d'inscription: 06-07-2011
Messages: 113

Re: [debutant]comment utliser correctement class base de donnee adapter?

merci de cette réponse, je vais essayer de recommencer à zero pour cette adaptateur

Comment appelle t'on l'adapateur pdo mysql lorqu'on est dans le controlleur ?

je sais qu'il ne faut pas le faire dans le controlleur mais  dans le modele mais c'est pour les test, et pour comprendre comment on l'appelle.

voici un script de test qui fonctionne

Code:

 
[lang=php]   public function indexAction() {
    $db = new Zend_Db_Adapter_Pdo_Mysql(array(
        'host'     => 'localhost',
        'username' => 'root',
        'password' => 'test',
        'dbname'   => 'zfbook'
    ));
    
    $query = "SELECT lastname, firstname FROM user";
    $result = $db->fetchAll($query);
    Zend_Debug::dump($result);
    }
}

ici j'ai bien le résultat

par contre dans mon application.ini j'ai ceci

Code:

resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "test"
resources.db.params.dbname = "zfbook"
resources.db.isDefaultTableAdapter = true

il y a toutes les infos de la base pour se connecté, comment je fait pour faire appellle a ce fichier ?

Code:

//appelle de $db nom pas par Zend_Db_Adapter_Pdo_Mysq, mais par le fichier configuration.ini
[lang=php]
    $query = "SELECT lastname, firstname FROM user";
    $result = $db->fetchAll($query);
    Zend_Debug::dump($result);
    }
}

Dernière modification par keokaz (05-09-2011 13:11:33)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages