bonjour
je suis bloqué face à cette erreur incompréhensible
voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error'
et la ligne contenant l'erreur
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 public function __construct($sDriver='',$sHost='',$sDatabase='',$sUser='',$sPassword='') { $sDrive = $sDriver.':dbname='.$sDatabase.";host=".$sHost; $this->oPdo=new PDO($sDrive, $sUser, $sPassword); $this->oPdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } public function executeSQL($sql, $parameters) { //1. Prepare the statement $stamement=$this->oPdo->prepare($sql); //2.execute the statement $stamement->execute($parameters); //3. return the result return $stamement->fetchAll(); }
Remarque :
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 private function SaveOrGetLanguageId($languageName) { $getIdSql="select id from languages where name=:name"; $result=$this->dbLayer->executeSQL($getIdSql,array(":name"=>$languageName)); if($result==null||sizeof($result)==0) { $saveSql="insert into languages(name) values(:name)"; $this->dbLayer->executeSQL($saveSql, array(":name"=>$languageName)); if($this->dbLayer->getAttribute(PDO::ATTR_DRIVER_NAME) == 'pgsql') { return $this->dbLayer->getLastInsertedId('languages'); }else{ return $this->dbLayer->getLastInsertedId('languages'); } } else { return $result[0][0]; } }
l'application fonctionne sous pgsql mais sous mysql elle me retourne cet erreur
L'erreur indiqué se trouve sur la ligne de requete qui fait l'insertion
Merci pour votre aide
Partager