Undefined variable
Résolu
starterPHP
-
Tralala8 Messages postés 128 Statut Membre -
Tralala8 Messages postés 128 Statut Membre -
Bonjour,
J'ai un souci d'undefined variable, et je ne trouve pas de solution:
(Notice: Undefined variable: content in C:\wamp\www\pdf.php on line 17)
La ligne 17 correspond à la ligne "Prénom" dans $content...
Pourriez-vous m'aider? Merci!
J'ai un souci d'undefined variable, et je ne trouve pas de solution:
(Notice: Undefined variable: content in C:\wamp\www\pdf.php on line 17)
La ligne 17 correspond à la ligne "Prénom" dans $content...
Pourriez-vous m'aider? Merci!
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query("SELECT nom, possesseur FROM jeux_video WHERE possesseur='JG'");
while ($donnees = $reponse->fetch())
{$content.=
"Nom : ".$donnees['nom']."rn".
"Prenom : ".$donnees['possesseur']."rn";
}
5 réponses
-
bien, déja a tu essayer de faire un print_r de donnée dans ton while? cela pourrait t'aider, essaye aussi dans ta requete de retirer l'espace apres la virgule de nom
-
En retirant l'espace, j'ai du coup 2 undefined variables (ligne 16 et 17).
Où devrai-je placer le print_r ? Je n'utilise qu'echo en général, je suis en débutant... -
Lorsque tu fais
while ($donnees = $reponse->fetch()) {
tu rajoute alors leprint_r($donnees);
ca devrait te donner l'architecture de ta variable. et comme tu utilise pdo, tu peux placer dans le fetch, l'un de c'est parametres:PDO::FETCH_BOTH PDO::FETCH_ASSOC PDO::FETCH_BOUND PDO::FETCH_CLASS PDO::FETCH_INTO PDO::FETCH_Lazy PDO::FETCH_NUM PDO::FETCH_OBJ
je te recommande le assoc qui te fourni un tableau tel que tu le demande par la suite. -
Avec le print_r j'obtiens un "Fatal error: Can't use function return value in write context in C:\wamp\www\pdf.php on line 14" ligne 14...
-
-
<?php try { $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $reponse = $bdd->query("SELECT nom possesseur FROM jeux_video WHERE possesseur='JG'"); while (print_r($donnees) = $reponse->fetch()) {$content.= "Nom : ".$donnees['nom']."rn". "Prenom : ".$donnees['possesseur']."rn"; } -
.... j'ai dis avec la modif, pas en ayant pas mis le print_r et en ayant supprimmer la virgule qui est obligatoire mais pas l'espace...
Tiens:
<?php try{ $bdd=new PDO('mysql:host=localhost;dbname=test', 'root', ''); }catch(Exception $e){ die('Erreur : '.$e->getMessage()); } $con=''; $rep=$bdd->query("SELECT nom,possesseur FROM jeux_video WHERE possesseur='JG'"); while($don=$rep->fetch($rep,PDO::FETCH_ASSOC)){ $con.='Nom : '.$don['nom'].'<br>Prenom : '.$don['possesseur'].'<br>'; }
un code plus concis, et sans problème normalement et le print_r c'est dans le while pas dans la condition.
le fetch doit avoir comme premier paramètre le retour du query... -
-
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Au cas où tu voudrais quand même trouver la solution à ton code, on ne peut faire$content.= ...
qu'à la condition que la variable "$content" soit déjà définie quelque part.
Ajoute$content=null;
juste avant de rentrer dans la boucle.