Ma variable ne veut pas s'afficher
Bonsoir,
Je commence la POO et je trouve ça génial, mais j'ai encore quelques petits soucis que je n'arrive pas à régler.
Voici mon problème : j'aimerai afficher ma variable $erreur en cas de problème dans le script, mais quand il y a effectivement un problème, elle n'affiche rien.
Je ne comprends pas pourquoi.
Voici ma classe principale :
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
|
<?php
class Article {
/* Variables de retour */
/// Retourne la valeur de la requete SQL pour un article
public $articleSQL;
public $erreur;
/* Objet pour se connecter a la BDD */
protected $ressource;
public function __construct($ressource) {
$this->ressource = $ressource;
}
public function getArticle($id) {
if (is_int($id)) {
$requeteSQL = 'SELECT * FROM articles WHERE art_id=' .$id;
$this->ressource->connexion();
$this->ressource->requete($requeteSQL);
$this->articleSQL = $this->ressource->retourSQLRequete;
$this->ressource->deconnexion();
if ($this->articleSQL) {
return TRUE;
}
else {
$erreur = 'Erreur dans le traitement de la requete';
$this->erreur = $erreur;
return FALSE;
}
}
else {
$erreur = 'Veuillez indiquer un id valide';
$this->erreur = $erreur;
return FALSE;
}
}
}
?php |
Cette classe utilise une autre classe qui se charge des requetes sur la BDD :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<?php
class Ressource {
public function requete($requeteSQL) {
if (isSet($requeteSQL)) {
$retourSQLRequete = mysql_query($requeteSQL);
$this->retourSQLRequete = $retourSQLRequete;
return TRUE;
}
else {
$erreur = 'Veuillez indiquer une requete valide';
$this->erreur = $erreur;
return FALSE;
}
}
}
?> |
Voici enfin le code qui fait appel à la classe Article :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<?php
$article = new Article(new Ressource());
$article->getArticle(50);
if ($articleDisplay = mysql_fetch_array($article->articleSQL)) {
echo $articleDisplay['art_titre'];
}
else {
echo $article->erreur;
}
?> |
J'ai bien sur inclue les classes avant.
Donc quand je cherche un article dont l'id ($id) existe dans la BDD, il m'affiche mon titre, mais quand je tape un id qui n'existe pas, il n'affiche rien pas même l'erreur que je voudrais pourtant voir affichée.
Merci d'avance, OyoKooN.