2011-07-13 2 views
2

J'ai une connexion à une base de données et chaque fois qu'un problème de connexion se produit, j'obtiens cette erreur.Erreur Connexion à la base de données avec l'utilisateur et le mot de passe info

 
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2003] Can't connect to MySQL server on '205.178.146.104' (4)' in /data/18/2/77/115/2566441/user/2813515/htdocs/ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Abstract.php:129 
Stack trace: 
#0 .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Abstract.php(129): PDO->__construct('mysql:dbname=si...', 'xxx', 'xxx', Array) 
#1 .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect() 
#2 .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Abstract.php(459): Zend_Db_Adapter_Pdo_Mysql->_connect() 
#3 .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('DESCRIBE `user`', Array) 
#4 .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Mysq in .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Abstract.php on line 144 

La chose est que l'utilisateur de base de données et le mot de passe sont visibles sur la page dans le message d'erreur. Y at-il un moyen que je puisse empêcher PHP de montrer cette information? Ou est-ce que cela se passe parce que je suis en train de me développer et non de produire?

Répondre

1

Il est parce que vous êtes "en développement" (exceptions sont indiquées dans le navigateur)

  • Solution 1: Utilisation de l'environnement de production;)
  • Solution 2: Modifier les paramètres dans application.ini
  • Solution 3: Utiliser un bloc try/catch pour la connexion à la base de données
2

C'est une combinaison des deux. En développement, votre montrant vos erreurs. Quelle est la principale raison pour laquelle vous voyez cela?

Toutefois, vous pouvez catch l'exception en testant la connexion avant la requête. Vous permettant de gérer vos propres échecs de connexion.

try { 
    Zend_Db_Table::getDefaultAdapter()->getConnection(); 
} catch (Zend_Exception $e) { 
    throw new Zend_Exception("A different error"); 
} 
Questions connexes