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