1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
define('SERVER', 'localhost');
define('BASE', 'palmares');
define('USER', 'root');
define('PWD', '');
class Test extends PDO{
private static $_connexion;
private static $_tabRequete = array();
public static function getInstance(){
if(!isset(self::$_connexion)){
try{
self::$_connexion = new PDO('mysql:host='.SERVER.';dbname='.BASE, USER, PWD);
}catch(PDOEception $e){
die($e);
}
}
return self::$_connexion;
}
public static function addRequete($requete){
self::$_tabRequete[] = $requete;
}
public static function doRequetes(){
if(empty(self::$_tabRequete))
return null;
self::$_connexion->beginTransaction();
foreach(self::$_tabRequete as $requete)
if(self::$_connexion->exec($requete) === false){
self::$_connexion->rollBack();
self::$_tabRequete = array();
return null;
}
self::$_connexion->commit();
self::$_tabRequete = array();
}
}
// --- on crée une instance de connexion
TEST::getInstance();
// --- on ajoute des requetes de type exec seulement
TEST::addRequete('UPDATE cotations SET variation=9 WHERE cotation_id=125905');
TEST::addRequete('UPDATE cotations SET variation=11 WHERE cotation_id=125905');
// --- On execute les requetes
TEST::doRequetes(); |
Partager