Problème avec Code PHP
P@rano
Messages postés
3
Statut
Membre
-
P@rano Messages postés 3 Statut Membre -
P@rano Messages postés 3 Statut Membre -
Bonjour,
Voila, j'ai un problème avec le code de mon site :
<?php
try
{
$mail = $_SESSION['mail'];
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=nomdelabase', 'root', '', $pdo_options);
$reponse = $bdd ->query('SELECT pseudo, message, mail FROM accueil_publi WHERE mail= "$mail"');
while ($donnees = $reponse->fetch())
{
echo '<p><span class="pseudopubli">'.htmlspecialchars($donnees['pseudo']).'</span>'.'<span class="messagepubli">'.htmlspecialchars($donnees['message']) . '</span></p>';
}
$reponse->closeCursor();
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
Mon problème est le suivant : je veux en fait récupérer les messages ayant le mail que la session a, j'ai vérifié, la session contient bien un mail, et $mail aussi ! mon problème est donc le WHERE mail= "$mail"'); où en l'occurence mail est une colonne de ma base de données, rien ne s'affiche, le $mail est compté comme nul, car aucun message même si il n'a pas de mail de destinataire ne marche pas. Dernière précision, le pseudo, le message et l'email sont bien dans la base de données (j ai vérifié).
J'espère une réponse claire et rapide comme la plupart du temps,
P@rano.
Voila, j'ai un problème avec le code de mon site :
<?php
try
{
$mail = $_SESSION['mail'];
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=nomdelabase', 'root', '', $pdo_options);
$reponse = $bdd ->query('SELECT pseudo, message, mail FROM accueil_publi WHERE mail= "$mail"');
while ($donnees = $reponse->fetch())
{
echo '<p><span class="pseudopubli">'.htmlspecialchars($donnees['pseudo']).'</span>'.'<span class="messagepubli">'.htmlspecialchars($donnees['message']) . '</span></p>';
}
$reponse->closeCursor();
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
Mon problème est le suivant : je veux en fait récupérer les messages ayant le mail que la session a, j'ai vérifié, la session contient bien un mail, et $mail aussi ! mon problème est donc le WHERE mail= "$mail"'); où en l'occurence mail est une colonne de ma base de données, rien ne s'affiche, le $mail est compté comme nul, car aucun message même si il n'a pas de mail de destinataire ne marche pas. Dernière précision, le pseudo, le message et l'email sont bien dans la base de données (j ai vérifié).
J'espère une réponse claire et rapide comme la plupart du temps,
P@rano.
A voir également:
- Problème avec Code PHP
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
1 réponse
Bonjour
Si tu affichais ta requête, tu verrais qu'elle contient $mail tel quel au lieu de la valeur de de la variable $mail.
Notion de base de PHP : pour qu'une variable soit remplacée par sa valeur dans une constante littérale, il faut que cette constante littérale soit déclarée avec des ", pas des '. Les simples et doubles quotes ne se jouent pas à la roulette...
=>
Autre possibilité, utiliser la concaténation
Si tu affichais ta requête, tu verrais qu'elle contient $mail tel quel au lieu de la valeur de de la variable $mail.
Notion de base de PHP : pour qu'une variable soit remplacée par sa valeur dans une constante littérale, il faut que cette constante littérale soit déclarée avec des ", pas des '. Les simples et doubles quotes ne se jouent pas à la roulette...
=>
$reponse = $bdd ->query("SELECT pseudo, message, mail FROM accueil_publi WHERE mail= '$mail'");
Autre possibilité, utiliser la concaténation
$reponse = $bdd ->query('SELECT pseudo, message, mail FROM accueil_publi WHERE mail= "'.$mail.'"');
P@rano
Messages postés
3
Statut
Membre
Merci beaucoup ! j'ai utilisé le premier exemple.