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






Répondre avec citation
Partager