query($sql); // exécution directe } else { $resultat = self::getBdd()->prepare($sql); // requête préparée $resultat->execute($params); } return $resultat; } private static function getBdd() { if (!isset($_SESSION['c_codeSociete'])) { $_SESSION['c_codeSociete']="ebene"; $_SESSION['old_codeSociete']=""; } $codeSociete = $_SESSION['c_codeSociete']; // if (self::$bdd === null) { if ($_SESSION['c_codeSociete'] != $_SESSION['old_codeSociete']) { $_SESSION['old_codeSociete']= $_SESSION['c_codeSociete']; $dsn = Configuration::get("dsn".$codeSociete); $login = Configuration::get("login".$codeSociete); $mdp = Configuration::get("mdp".$codeSociete); $_SESSION['param_bdd'] = array ( "codeSociete" => $codeSociete, "dsn" => $dsn, "login" => $login, "mdp" => $mdp ); self::$bdd = new PDO ( $dsn, $login, $mdp, array ( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true ) ); // $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); } return self::$bdd; } protected function dernierId() { return self::getBdd()->lastInsertId(); } }