Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/05/2012, 19h59   #1
Java_doc
Invité de passage
 
Alexandre Blieux
Inscription : novembre 2009
Messages : 7
Détails du profil
Informations personnelles :
Nom : Alexandre Blieux
Âge : 29
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : novembre 2009
Messages : 7
Points : 3
Points : 3
Par défaut Problème d'accès au contenu d'une variable issue d'une requête.

Bonjour à tous,

Je développe en ce moment un petit forum de discussion très simplifié. Celui-ci s'appuie sur 5 tables MYSQL : "membre", "message", "reponse", "effectue" et "renvoie". Sur le site, il y a donc une page affichant les derniers sujets postés. Pour chaque sujets, j'aurais aimé afficher le titre du sujet, la date et l'heure à laquelle il a été posté et enfin le nom du membre qui a posté ce sujet.

Pour le titre, la date et l'heure, une fois la requête effectuée je n'ai aucun problème pour afficher les infos qui m'intéressent sur la page (celles-ci se trouvant sur la table message). Pour récupérer le nom de l'émetteur du message, je suis obligé d'effectuer une seconde requête: grâce à la clé étrangère "idMembre" liant le membre au message.

Dès que j'essaye d'afficher le contenu de la variable $membre (qui normalement doit être un tableau associatif contenant tous les champs de la table "membre" correspondant au membre concerné par la clause WHERE de la requête), j'obtiens le message d'erreur suivant: Fatal error: Cannot use object of type PDOStatement as array in fichier.php on line 72.

Voici le bout de code concerné:

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
 
<DIV Id="sujets">
				<H2>Derniers sujets post&eacute;s :</H2>
				<HR />
				<?PHP
					$sujets = $bdd->query('SELECT * FROM message ORDER BY dateMessage DESC LIMIT 0, 20;');
					$empty = true;
 
					foreach ($sujets as $message)
					{
						if ($empty) {$empty = false;}
 
				?>
							<DIV Class="sujetMessage">
								<?PHP 
									$membre = $bdd->query('SELECT * FROM membre WHERE membre.idMembre=' . $message['idMembre'] . ';');
									echo ('<H2><A Href="#">' . $message['sujet'] . '</A></H2> posté le ' . $message['dateMessage'] . ' par ' . $membre['prenom']); // ligne 72... La variable $membre['prenom'] pose problème.
								?>
							</DIV>
				<?PHP
					}
 
					if ($empty)
					{
						echo('<H2>Aucun sujet trouvé...</H2>');
					}
				?>
			</DIV>
Voilà, je ne comprend pas pourquoi la première requête fonctionne parfaitement et pourquoi la seconde retourne à priori un objet de type PDOStatement totalement inexploitable.

Merci à ceux qui pourront me venir en aide.

Cordialement.
Java_doc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2012, 13h23   #2
redoran
Membre émérite
 
Avatar de redoran
 
Homme Redouane Hamadouche
Développeur-Amateur
Inscription : juin 2010
Messages : 1 326
Détails du profil
Informations personnelles :
Nom : Homme Redouane Hamadouche
Âge : 41
Localisation : Algérie

Informations professionnelles :
Activité : Développeur-Amateur
Secteur : Santé

Informations forums :
Inscription : juin 2010
Messages : 1 326
Points : 985
Points : 985
Envoyer un message via Skype™ à redoran
Salam ; si vous éte appelé a utilisé cette requête , de préfebrence faut passé par : http://php.net/manual/fr/pdo.query.php
essaye un var_dump($sujets); pour voir le résultat retourné.
redoran est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 22h03.


 
 
 
 
Partenaires

Hébergement Web