Pour ceux qui comprennent... xD
<?php
class pdomysql {
private $dbh;
private $host;
private $user;
private $pass;
private $name;
public $nEntree;
/**
* constructeur
*/
public function __construct($host = DB_HOST, $user = DB_LOGIN, $pass = DB_PASS, $name = DB_BASE) {
$this->host = $host;
$this->user = $user;
$this->pass = $pass;
$this->name = $name;
}
/**
* @param void
* @return boolean
* @permet de d'établir la connexion à SQL
*/
private function connect() {
if ($this->dbh == null) {
try {
$idString ='mysql:host='.$this->host.';dbname='.$this->name;
$this->dbh = new PDO($idString, $this->user, $this->pass);
$this->dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
}
catch(Exception $e) {
echo 'Erreur ! : ' . $e->getMessage();
die();
}
}
return true;
}
/**
* @param string rR : requête sql préparé (avec les ?)
* @param array aArg : données à remplacer dans la requête sql
* @return array contenant les informations demandé à sql
* @permet de récupérer une ligne de la base de données
*/
public function GetLigne($rR,$aArg = array()) {
$this->connect();
$oPDOStatement = $this->dbh->prepare($rR);
if(is_object($oPDOStatement)) {
$oPDOStatement->execute($aArg);
$result = $oPDOStatement->fetch(PDO::FETCH_ASSOC);
return $result;
}
}
/**
* @param string rR : requête sql préparé (avec les ?)
* @param array aArg : données à remplacer dans la requête sql
* @return array contenant les informations demandé à sql
* @permet de récupérer plusieurs ligne de la base de données
*/
public function GetAll($rR,$aArg = array()) {
$this->connect();
$oPDOStatement = $this->dbh->prepare($rR);
if(is_object($oPDOStatement)) {
$oPDOStatement->execute($aArg);
$result = $oPDOStatement->fetchAll(PDO::FETCH_ASSOC);
$this->nEntree = count($result);
return $result;
}
}
/**
* @param string rR : requête sql préparé (avec les ?)
* @param array aArg : données à remplacer dans la requête sql
* @permet de faire une requête sans retour (update,insert,delete...)
*/
public function Query($rR,$aArg = array()) {
$this->connect();
$oPDOStatement = $this->dbh->prepare($rR);
if(is_object($oPDOStatement))
$oPDOStatement->execute($aArg);
}
/**
* @param string rR : requête sql préparé (avec les ?)
* @param array aArg : données à remplacer dans la requête sql
* @return int le dernier id inséré via la requête insert
* @permet de faire une requête insert et de recuperer l'id auto incrementer
*/
public function QueryIns($rR,$aArg = array()) {
$this->connect();
$oPDOStatement = $this->dbh->prepare($rR);
if(is_object($oPDOStatement))
$oPDOStatement->execute($aArg);
return $this->dbh->lastInsertId();
}
public function __destruct() {
$this->dbh = NULL;
}
}
$rR = "insert into `test` (`champ`) values (?)";
$aArg = array("EnZ");
$sql = new pdomysql();
$sR = $sql->QueryIns($rR,$aArg);
echo $sR;
?>