Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-05-2011 23:30:08

17795
Membre
Date d'inscription: 21-03-2010
Messages: 36

Test de connexion MySQL

Bonjour,

Existe-t-il un moyen simple de tester la connexion à un serveur MySQL ? Sans lancer de requête, comme lorsqu'on fait un mysql_connect() or die() pour déceler une erreur de connexion.

Le problème étant que sur mon site (chez OVH), j'ai bien renseigné les paramètres de connexion mais je n'arrive pas à me connecter.

application.ini :

resources.db.adapter                            = Pdo_Mysql
resources.db.params.host                        = "mysql5-22.perso"
resources.db.params.username                    = monlogin
resources.db.params.password                    = monmotdepasse
resources.db.params.dbname                      = mabase
resources.db.params.charset                     = "UTF8"


Et le _initDb() de mon Bootstrap :

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
 
    protected function _initAutoload()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'Default',
            'basePath'  => dirname(__FILE__),
        ));
        return $autoloader;
    }
 
    protected function _initDb()
    {
        $configuration = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV);
        $dbAdapter = Zend_Db::factory($configuration->resources->db);
        // $dbAdapter->getConnection()->exec("SET NAMES 'utf8'"); // KO si décommenté, car pb de connexion ?
        Zend_Db_Table_Abstract::setDefaultAdapter($dbAdapter);
    }
}


Sur un script non zendifié, mes paramètres fonctionnent (test de connexion, d'insert dans une table,etc.). Mais sur ce site, impossible de me connecter, d'où le besoin de faire quelques tests avec le ZF.

Merci pour votre aide smile

Dernière modification par 17795 (05-05-2011 23:31:01)

Hors ligne

 

#2 06-05-2011 09:31:25

Ithier
Membre
Date d'inscription: 05-01-2010
Messages: 85

Re: Test de connexion MySQL

Tu n'es pas obligé de lancer une requête complexe, tu peux juste lancer SELECT 1+1, c'est rapide à exécuter et au moins tu es sûr que tout fonctionne. Je l'utilise dans un de mes projets pour vérifier que la connexion existe toujours et si cela échoue, je refais la connexion à la base de données.

Hors ligne

 

#3 06-05-2011 10:13:33

17795
Membre
Date d'inscription: 21-03-2010
Messages: 36

Re: Test de connexion MySQL

Le souci est que même une requête simple ne servira à rien vu que je ne suis pas connecté smile

Mon but est de trouver pourquoi la connexion ne se fait pas, puisque dans un test.php (indépendant de Zend) avec un simple mysql_connect(), j'y arrive. J'ai copié collé les paramètres de connexion dans mon application.ini mais apparemment il me manque quelque chose pour établir la connexion via Zend.

Hors ligne

 

#4 06-05-2011 18:42:24

Grummfy
Membre
Lieu: Belgique
Date d'inscription: 01-08-2007
Messages: 232
Site web

Re: Test de connexion MySQL

tue s bien sur que pdo est activer car chez ovh il y a plusieurs versions de php disponible ... perso j'utilise la 5.3
http://guide.ovh.com/Php5ChezOvh SetEnv PHP_VER 5_TEST


Engagez-moi! : Cherche job en Belgique autour de Namur (1 heure de route autour)
blog - ZF Planet

Hors ligne

 

#5 07-05-2011 17:42:56

17795
Membre
Date d'inscription: 21-03-2010
Messages: 36

Re: Test de connexion MySQL

Bonjour,

J'avais déjà indiqué SetEnv PHP_VER 5 pour être en php5. Je viens de mettre SetEnv PHP_VER 5_TEST dans le .htaccess, cela n'a rien changé sad

Dernière modification par 17795 (07-05-2011 17:46:18)

Hors ligne

 

#6 07-05-2011 22:58:44

17795
Membre
Date d'inscription: 21-03-2010
Messages: 36

Re: Test de connexion MySQL

Je ne trouve pas le moyen de se connecter directement à un serveur mysql, sans passer par PDO : est-possible ? Avec du code Zend approved bien sûr (je voudrais éviter le mysql_connect() à la barbare, et également que la connexion reste ouverte dans toute mes pages).

Merci !

Hors ligne

 

#7 08-05-2011 14:05:58

17795
Membre
Date d'inscription: 21-03-2010
Messages: 36

Re: Test de connexion MySQL

Suite à des tests de connexion, voici une méthode _initDb() qui se connecte bien au serveur mysql :

Code:

    protected function _initDb()
    {
        $configuration = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV);
        $dbAdapter = Zend_Db::factory($configuration->resources->db);
       
        $DB_host = $configuration->resources->db->params->host;
        $DB_user = $configuration->resources->db->params->username;
        $DB_pass = $configuration->resources->db->params->password;

        $fh_db = mysql_connect($DB_host, $DB_user, $DB_pass);
        $sel = mysql_select_db($DB_user, $fh_db);

        // $dbAdapter->getConnection()->exec("SET NAMES 'utf8'");
        Zend_Db_Table_Abstract::setDefaultAdapter($dbAdapter);
    }

Apparemment c'est le $dbAdapter->getConnection() qui ne fonctionne pas. J'ai essayé de trouvé où était cette méthode pour débuguuer, mais je ne l'ai pas trouvé dans le répertoire library/zend.

Une idée ?

Hors ligne

 

#8 14-05-2011 17:10:27

17795
Membre
Date d'inscription: 21-03-2010
Messages: 36

Re: Test de connexion MySQL

Bonjour,

Je relance le sujet car je n'ai pas trouvé de solution satisfaisante. Avec l'initDb() ci-dessus, jee suis obligé de faire avec des fonctions "classiques", sans profiter des possibiltés des méthodes zendifiées. Je suis toujours à la recherche d'une solution me permettant d'établir la connexion avec getConnection() et ainsi faire mes requêtes avec le dbAdapter.

Merci pour votre aide !

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