Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/07/2011, 14h44   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
Par défaut PDO select - execute()

Bonjour à tous,
j'ai mis en place un petit système de commentaires sous des images.

pour gérer les commentaires, j'ai une page qui permet de selectionner soit une Date soit le nom d'un répertoire

Pour cela 2 champs :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
<tr><td style ="font-weight: bold; width: 150px; text-align: right;"> Depuis le : </td><td>
<input type="hidden" id="vide" name="vide" value="" >
<input type="text" id="date" name="date" ></td>
</td>
<td style ="font-weight: bold; width: 150px; text-align: center;"> ou  </td>
 
<td style ="font-weight: bold; width: 150px; text-align: right;"> Poste source : </td><td>
<input type="text" id="poste" name="poste" ></td>
</td>
</tr>

Coté traitement, je test si c'ets le champs "date" ou "poste" qui est remplis et suivant le résultat je lui attribut une requete mysql :

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
<?php
if(($NomPoste != $Vide) && ($Date == $Vide))
{
// Ma requete de controle si NomPoste complété
$query = $bdd->query("SELECT IdPS, NomPoste, CommunePoste, CodePoste
FROM postesource WHERE NomPoste LIKE '$NomPoste'"); 
}
if(($NomPoste == $Vide) && ($Date != $Vide))
{
// Ma requete de controle si Date complété
// Renvois tous les commentaires supérieurs à la date entrée
$query = $bdd->query("SELECT Commentaire, Date, Nom, Prenom, NomPoste
FROM commentaire, user, image, postesource 
WHERE Date >= '$Date' 
AND commentaire.IdUser = user.IdUser
AND commentaire.IdImg = image.IdImg
AND image.IdPS = postesource.IdPS"); 
}
// Exécution de la requete
$query->execute();               // LIGNE 103
// Compteur
$count = $query->rowCount(); 
$i = 0;
// Si il renvoi 1 requete trouvé
if($count > 0) 
{ 
... affichage etc...
} ?>
Dans le 1er cas (nom poste) la requete s'éxécute bien et affiche les résultats attendu.

Dans le 2eme cas avec la date au format YYYY-MM-DD il me marque :

Code :
1
2
3
4
 
Notice: Undefined variable: query in ... on line 103
 
Fatal error: Call to a member function execute() on a non-object in ... on line 103
Je me demande pourquoi il m'affiche cela et ce qui ne vas pas dans mon code.

ps: les 2 requêtes fonctionnent, testé sous MySql.


Merci à tous
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 25/07/2011, 14h58   #2
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Bonjour,

pourrais tu afficher ta requête sql (lorsque tu es dans le cas où ca marche pas) stp?

remarque: il vaudrait mieux changer le nom du input date et le remplacer par autre chose pour éviter qu'il y ait confusion avec la fonction date de php. (j'ai déjà eu des problèmes de ce genre ^^)

Test en remplaçant ceci dans ta requete:

par ceci

Ps:à confirmer mais je pense qu'il ne faut pas les simples quotes pour une date (à 70%)
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/07/2011, 15h35   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
Plusieurs problème corrigé

Le 1er : Aucune requete n'étais selectionnée donc erreur.

2eme inutile de mettre $query->execute() pour un select.

3eme tu as raisons retro ma requete était foireuse '" .$Date. "' c'est mieux


Merci à toi amis motard :p
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h04.


 
 
 
 
Partenaires

Hébergement Web