Page 1 sur 1

Problème de Connexion entre une application web et une base de données web

Posté : 05 mars 2015, 15:13
par sirine
bonjour,
svp j'ai héberger une application web gratuitement pour la tester et la voila en ligne: http://masterenetcom.esy.es/
Mais je suis bloqué.Lorsque je viens d'entrer mes données et cliquer sur un bouton suivant pour que la page suivante s'affiche, un erreur me parait le voila: Fatal error: Call to a member function rowCount() on a non-object in /home/u820932616/public_html/classe/candidat.php on line 509 et meme les données ne s'ajoute pas à la base.
voici le ligne de la l'instruction erronée:
$obj1=$c->query($int1); if ($obj1->rowCount()==0)return "impo " ;
est-ce-que vous pouvez m'aider?
Merci d'avance

Re: Problème de Connexion entre une application web et une base de données web

Posté : 05 mars 2015, 15:30
par tof73
query retourne false si une erreur survient, ce qui fait que $obj1 n'est pas un objet.
il faut donc savoir qu'elle est exactement la requête exécutée et trouver pourquoi elle est invalide.

Re: Problème de Connexion entre une application web et une base de données web

Posté : 05 mars 2015, 15:47
par sirine
je ne vous comprenez pas? est-ce'qu'il y a une instruction à ajouter ou bien que-ce-que je dois faire?

Re: Problème de Connexion entre une application web et une base de données web

Posté : 05 mars 2015, 16:08
par xTG
Il faut voir ce qu'il y a dans $int1 pour debugguer.
Le cas que tu présentes montre que la requête a échouée et donc on ne peut pas l'exploiter.
Dans ton cas le code tente de l'exploiter en récupérant le nombre d'enregistrement retourné.

Dans ton cas un code plus propre aurait été :
$obj1=$c->query($int1);
if( $obj1 !== false )
{
   if ($obj1->rowCount()==0)return "impo " ;
   // ....
}
else
{
   echo "Erreur de requête !";
}

Re: Problème de Connexion entre une application web et une base de données web

Posté : 05 mars 2015, 16:11
par sirine
voila le contenu de $int1:
$int1="SELECT * FROM intervalles_bac";

Re: Problème de Connexion entre une application web et une base de données web

Posté : 05 mars 2015, 16:55
par xTG
Donc devant une requête simpliste voici les pistes :
- la table intervalles_bac n'existe pas dans ta base de donnée
- tu n'as pas sélectionné la bonne base de donnée à la connexion PDO
- tu n'as pas du tout exécuté de connexion PDO

Il serait bon d'activer la gestion des erreurs PDO. ;)
http://php.net/manual/fr/pdo.error-handling.php