86 lines
2.0 KiB
PHP
86 lines
2.0 KiB
PHP
<?php
|
|
require_once 'Configuration.php';
|
|
require_once 'Functions.php';
|
|
|
|
abstract class Modelecontestation
|
|
{
|
|
private static $bdd;
|
|
|
|
protected function executerRequete($sql, $params = null)
|
|
{
|
|
if ($params == null) {
|
|
$resultat = self::getBdd()->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 (self::$bdd === null) {
|
|
$dsn = Configuration::get("dsn");
|
|
$login = Configuration::get("login");
|
|
$mdp = Configuration::get("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;
|
|
}
|
|
|
|
private static function getBddAdmin()
|
|
{
|
|
if (!isset($_SESSION['codeBdd']))
|
|
{
|
|
$_SESSION['codeBdd']="ebene";
|
|
}
|
|
|
|
$dsn = $_SESSION['BdName'];
|
|
$login = $_SESSION['BdLogin'];
|
|
$mdp = $_SESSION['BdMdp'];
|
|
|
|
self::$bdd = new PDO
|
|
(
|
|
$dsn,
|
|
$login,
|
|
$mdp,
|
|
array
|
|
(
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true
|
|
)
|
|
);
|
|
|
|
return self::$bdd;
|
|
}
|
|
|
|
protected function dernierId()
|
|
{
|
|
return self::getBdd()->lastInsertId();
|
|
}
|
|
|
|
protected function executerRequeteAdin($sql, $params = null)
|
|
{
|
|
if ($params == null) {
|
|
$resultat = self::getBddAdmin()->query($sql); // exécution directe
|
|
}
|
|
else {
|
|
$resultat = self::getBddAdmin()->prepare($sql); // requête préparée
|
|
$resultat->execute($params);
|
|
}
|
|
return $resultat;
|
|
}
|
|
} |