radiantrh/Contestation/Modelecontestation.php

86 lines
2.0 KiB
PHP
Executable File

<?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;
}
}