Variable non définie.
Résolu
Max747
Messages postés
264
Statut
Membre
-
Max747 Messages postés 264 Statut Membre -
Max747 Messages postés 264 Statut Membre -
Bonjour,
Je cherche à extraire la valeur d'un champ username à partir de son identifiant id d'une table inscriptions.
J'utilise ce script que voici:
Mais cela ne fonctionne pas.
Voici le message d'erreur qui apparait:
Notice: Undefined variable: username in C:\wamp64\www\_qcm\poll\test.php on line 10
Quelque m'échappe.
Cependant je ne trouve pas la cause de cette erreur.
Pourriez vous m'aider à résoudre ce problème?
Merci d'avance.
Je cherche à extraire la valeur d'un champ username à partir de son identifiant id d'une table inscriptions.
J'utilise ce script que voici:
<?php
include ('connexion.php');
$id=21;
$requete = $connection->prepare("SELECT id, username FROM inscriptions WHERE id=:id");
$requete->execute(array(':id'=>$id));
while ($row = $requete->fetch(PDO::FETCH_ASSOC))
{
$username=($row['username']);
}
echo $username;
?>
Mais cela ne fonctionne pas.
Voici le message d'erreur qui apparait:
Notice: Undefined variable: username in C:\wamp64\www\_qcm\poll\test.php on line 10
Quelque m'échappe.
Cependant je ne trouve pas la cause de cette erreur.
Pourriez vous m'aider à résoudre ce problème?
Merci d'avance.
Configuration: Windows / Firefox 52.0
3 réponses
-
Bonjour,
Déjà.. pas besoin d'un while quand tu n'as qu'une seule ligne à récupérer en bdd$row = $requete->fetch(PDO::FETCH_ASSOC)); $username = !empty($row['username']) ? $row['username']: ''; echo $username ;
-
Et comme te l'as dit Yg_be dans ton autre discussion ( que j'ai supprimée pour cause de doublon !! ) .. il se peut que tu n'aies aucun user avec l'id 21 ...
Ce qui faisait que ton code ne rentrait jamais dans la boucle while ...
Avec le code que je viens de te donner tu n'auras plus de message d'erreur y compris si ta requête ne retourne pas de résultat.
-
-
J'avais compris $id 21.
Vous voudrez bien m'en excuser svp.
En fait je viens de vérifier la table inscriptions et il n'y a pas dans le champ id la valeur 21 effectivement.
Par contre l ' id 22 existe bien.
Voici le script modifié:<?php include ('connexion.php'); $id=22; $requete = $connection->prepare("SELECT id, username FROM inscriptions WHERE id=:id"); $requete->execute(array(':id'=>$id)); $row = $requete->fetch(PDO::FETCH_ASSOC) $username = !empty($row['username']) ? $row['username']: ''; echo $username; ?>
Néanmoins il subsiste un message d'erreur que voici au niveau syntaxe que je ne parviens pas à déceler:
Je ne trouve pas qu'elle est cette erreur de syntaxe.
Ainsi si vous pouvez me l'indiquer, je vous en serai bien reconnaissant.
Merci d'avance. -