Requêtes procédurales en requêtes avec l'objet
Bonjour,
J'ai actuellement un système procédural avec mes fonctions à la racine (fonctions.php). Je veux désormais passer en POO.
Je dois vous prévenir que j'ai enregistré en base de données des données de configuration (url, nom site, webmaster...ect).
Voici le code de ma page index.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| //Chargement des classes poo
require ('./lib/base.php');
//Connexion à la bdd, ancienne methode procedurale
//$base = mysql_connect ($parametre['hote'],$parametre['login'],$parametre['pass']);
//if(!mysql_select_db($parametre['bdd'], $base)) $erreur.= 'Connexion impossible à la BDD';
//Toutes les fonctions susceptibles d'être appelées
require ('./fonctions.php');
//On défini tous les paramètres de configuration stockés en BDD
//$bdd = new acces();
//$bdd->connexion();
$bdd = new acces();
$bdd->connexion();
$bdd->defineconfig(); |
Puis le code de ma page lib/base.php
Code:
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
| class acces
{
private $user; // login de la BDD
private $mdp; // mot de passe de connexion à la BDD
private $url; // adresse de connexion
private $etat; // objet permettant les opérations sur la BDD, de la classe PDO
public function __construct()
{
$this->user = '******';
$this->mdp = '******';
$this->url = 'mysql:host=localhost;dbname=*****';
}
/*Lance la connexion à la base de données et retourne l'objet
permettant d'effectuer des opérations sur la BD */
public function connexion()
{
try
{
$this->etat = new PDO($this->url,$this->user,$this->mdp,array(PDO::ATTR_PERSISTENT => false));
return $this->etat;
}
catch (Exception $e)
{
die("Erreur ! : " . $e->getMessage());
}
}
/** Ferme la connexion */
public function deconnexion()
{
$this->etat = NULL;
}
public function query($query)
{
return $this->etat->query($query);
}
public function prepare($prepare)
{
return $this->etat->prepare($prepare);
}
public function exec($exec)
{
return $this->etat->exec($exec);
}
}
class config extends access
{
public function defineconfig()
{
$sql = 'SELECT * FROM config';
$requete = acces::connexion()->etat->query($sql);
$data = $requete->fetch();
define ($data['parametre'], $data['valeur']);
}
} |
Donc je vous expose mon problème: je n'arrive pas à sélectionner les configurations enregistrées dans la table config (page blanche).
Merci d'avance pour vos réponses.
Cordialement