97,7 → 97,6 |
* @throws Exception une exception dans le cas ou là connexion échoue |
*/ |
final private function connecter() { |
|
switch ($this->abstraction) { |
case 'pdo': |
$this->connexion = new PDO($this->dsn, $this->utilisateur, $this->pass); |
139,7 → 138,7 |
} |
|
/** |
* Fonction qui appelle la bonne fonction de requete suivant le type de bdd. |
* Fonction qui appelle la bonne fonction pour executer une requête suivant le type de bdd. |
* |
* @param string la requete à effectuer |
* @return PDOStatement un objet contenant le résultat de la requête |
156,15 → 155,12 |
case 'pdo': |
$retour = $this->connexion->query($requete); |
break; |
|
case 'mysql': |
$retour = mysql_query($requete,$this->connexion); |
break; |
|
case 'mysqli': |
$retour = $this->connexion->query($requete); |
break; |
|
case 'sqlite3': |
$retour = $this->connexion->exec($requete); |
break; |
174,32 → 170,27 |
} |
|
final protected function requeteUn($requete,$mode = 'ASSOC') { |
|
// on ne se connecte que lors du premier appel à une requete (lazy connexion) |
// Connection seulement lors du premier appel à une requete (lazy connexion) |
if ($this->connexion == null) { |
$this->connecter(); |
} |
|
$retour = null; |
|
switch ($this->abstraction) { |
case 'pdo': |
$res_req = $this->connexion->query($requete); |
$retour =$res_req->fetch($this->$mode); |
break; |
|
case 'mysql': |
$res = mysql_query($requete,$this->connexion); |
$fonction_fetch = $this->$mode; |
$retour = $fonction_fetch($res); |
break; |
|
case 'mysqli': |
$res = $this->connexion->query($requete); |
$fonction_fetch = $this->$mode; |
$retour = $res->$fonction_fetch(); |
break; |
|
case 'sqlite3': |
$retour = $this->connexion->querySingle($requete); |
break; |
210,8 → 201,7 |
|
|
final protected function requeteTous($requete,$mode = 'ASSOC') { |
|
// on ne se connecte que lors du premier appel à une requete (lazy connexion) |
// Connexion seulement lors du premier appel à une requete (lazy connexion) |
if ($this->connexion == null) { |
$this->connecter(); |
} |
221,9 → 211,12 |
switch ($this->abstraction) { |
case 'pdo': |
$res_req = $this->connexion->query($requete); |
if ($res_req !== false) { |
$retour =$res_req->fetchAll($this->$mode); |
} else { |
$retour = false; |
} |
break; |
|
case 'mysql': |
$res = mysql_query($requete,$this->connexion); |
$fonction_fetch = $this->$mode; |
231,7 → 224,6 |
$retour[] = $ligne; |
} |
break; |
|
case 'mysqli': |
$res = $this->connexion->query($requete); |
$function_fetch = $this->$mode; |
239,14 → 231,12 |
$retour[] = $ligne; |
} |
break; |
|
case 'sqlite3': |
$res = $this->connexion->query($requete); |
while($ligne = $res->fetch_array($this->ASSOC)) { |
if($mode == $this->ASSOC) { |
$retour[] = $ligne; |
} |
elseif($mode == $this->OBJECT){ |
} elseif ($mode == $this->OBJECT) { |
// cas particulier de sqllite |
// qui n'a pas de fonction fetch_object |
$ligneObjet = new stdClass(); |
257,7 → 247,6 |
} |
} |
break; |
|
} |
|
return $retour; |
279,15 → 268,12 |
case 'pdo': |
$retour = $this->connexion->quote($chaine); |
break; |
|
case 'mysql': |
$retour = '"'.mysql_real_escape_string($chaine, $this->connexion).'"'; |
break; |
|
case 'mysqli': |
$retour = '"'.$this->connexion->real_escape_string($chaine).'"'; |
break; |
|
case 'sqlite3': |
$retour = $this->connexion->escapeString($chaine); |
break; |
308,22 → 294,18 |
$this->ASSOC = PDO::FETCH_ASSOC; |
$this->OBJECT = PDO::FETCH_CLASS; |
break; |
|
case 'mysql': |
$this->ASSOC = 'mysql_fetch_assoc'; |
$this->OBJECT = 'mysql_fetch_object'; |
break; |
|
case 'mysqli': |
$this->ASSOC = 'fetch_assoc'; |
$this->OBJECT = 'fetch_object'; |
break; |
|
case 'sqlite3': |
$this->ASSOC = 'SQLITE3_ASSOC'; |
$this->OBJECT = 'SQLITE3_OBJECT'; |
break; |
|
default: |
throw new Exception('Erreur : l\'abstraction '.$this->abstraction.' n\'est pas prise en charge'); |
break; |
338,15 → 320,12 |
case 'pdo': |
$this->connexion = null; |
break; |
|
case 'mysql': |
return mysql_close($this->connexion); |
break; |
|
case 'mysqli': |
$this->connexion->close(); |
break; |
|
case 'sqlite3': |
$this->connexion->close(); |
break; |