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
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 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 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 pese que je suis presque mais si vous pouver m'apporter des conseils
merci