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 :

probleme driver pdo [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Points : 122
    Points
    122
    Par défaut probleme driver pdo
    bonjour,
    je suis bloqué face à cet erreur en essayant de re-ecrire ma class pdo

    Fatal error: Uncaught exception 'PDOException' with message 'Erreur baseDBAcccess: could not find driver<br />N°

    le code

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    abstract class BaseDBAccess
    {
        var $sDriver='';
        var $sHost='';
        var $sDatabase='';
        var $sUser='';
        var $sPassword='';
        private static $oDatabase;
    	var $oPdo=null;
    	var $sQuery='';
    	var $oPDOStatement=null;
     
     
    	/**
         * Constructor for database connection
    	 * @param string $sDriver
    	 * @param string $sHost
    	 * @param string $sDatabase
    	 * @param string $sUser
    	 * @param string $sPassword
    	 */
         public function __construct($sDriver='',$sHost='',$sDatabase='',$sUser='',$sPassword='')
         {
    	     	try{
    				$this->setDriver($sDriver);
    				$this->setHost($sHost);
    				$this->setDatabase($sDatabase);
    				$this->setUser($sUser);
    				$this->setPassword($sPassword);
    				$sDrive = $this->sDriver.':dbname='.$this->sDatabase.";host=".$this->sHost;
    				$this->oPdo=new PDO($sDrive, $this->sUser, $this->sPassword);
    				$this->oPdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    			}catch(PDOException $e){
    				$msg = 'Erreur baseDBAcccess: '.$e->getMessage().'<br />';
        			$msg .=  'N° : '.$e->getCode();	
        			throw new PDOException($msg);
    			}
    			return $this->oPdo;
         }
     
    	/**
    	 * To get instance of Database
    	 *
    	 * @param string $sDriver
    	 * @param string $sHost
    	 * @param string $sDatabase
    	 * @param string $sUser
    	 * @param string $sPassword
    	 * @return Database object
    	 */
    	public static function getInstance($sDriver='',$sHost='',$sDatabase='',$sUser='',$sPassword=''){
    		if(is_null(self::$oDatabase)){
    			self::$oDatabase = new BaseDBAccess($sDriver,$sHost,$sDatabase,$sUser,$sPassword);
    		}
    		return self::$oDatabase;
    	}   
     
    }
    l'autre classe qui utilise cette premiere classe et je pense que c'est la le probleme que se pose

    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
    18
    19
    20
    21
    22
    require_once ("BaseDBAccess.php");
    class PostgresqlDBAccess extends BaseDBAccess
    {
     
    	public function OpenDBConnection($dbConnectionParameters)
    	{	
    		$dbClass = $dbConnectionParameters['classname'];
    	    $dbDriver =$dbConnectionParameters['driver']; 
    	    $dbHost =$dbConnectionParameters['host'];
    	    $dbName =$dbConnectionParameters['databasename'];
    	    $dbLogin =$dbConnectionParameters['login'];
    	    $dbPass =$dbConnectionParameters['pass'];
    		try
    		{
    	    	$newDbAccessObjet = BaseDBAccess::getInstance($dbDriver,$dbHost,$dbName,$dbLogin,$dbPass);
     
    		}catch(PDOException $e){
    		 		echo 'Erreur OpenDBConnection: '.$e->getMessage().'<br />';
       				echo 'N° : '.$e->getCode();
    		}
    	}
    }
    et le fichier ou j'appel les classes

    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
    18
    19
    require_once("PostgresqlDBAccess.php");
    require_once ("BaseDBAccess.php");
     
     
    $driver = "pgsql";
    $host = "localhost";
    $databasename ="base";
    $login = "postgres";
    $pass = "admin";
     
     
    $dbConnectionParameters = array(	"driver" => $driver,
    									"host" => $host,
    									"databasename" => $databasename,
    									"login" => $login,
    									"pass" => $pass								
    								);
    $pgDBConn = new PostgresqlDBAccess();
    $a = $pgDBConn->OpenDBConnection($dbConnectionParameters);
    je pense que je suis presque mais si vous pouver m'apporter des conseils
    remarques : les drivers au nieavu du serveurs sont tous activés php_pdo_pgsql et php_pdo
    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as controlé ce que valait $sDrive ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [Carte Graphique] Problème driver Asustek N7600GS AGP
    Par ccambier dans le forum Composants
    Réponses: 22
    Dernier message: 05/12/2006, 14h30
  2. Driver PDO Access
    Par moscovisci dans le forum Langage
    Réponses: 1
    Dernier message: 13/09/2006, 18h27
  3. probleme driver sqlserver - jbuilder
    Par angedavid dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/08/2006, 00h13
  4. Problème driver speedtouch
    Par freums dans le forum Matériel
    Réponses: 11
    Dernier message: 26/06/2004, 17h23
  5. Probleme driver broadcom BCM5700
    Par darkalia dans le forum Matériel
    Réponses: 4
    Dernier message: 11/05/2004, 11h49

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