Requête SQL dans PHP
RésoluGuytoune -
Bonjour,
Petit problème de syntaxe (je pense) je n'arrive pas à écrire ma requête SQL en PHP avec PDO.
Ma requête SQL :
SELECT libelle FROM mail WHERE mymail LIKE "%***@***%"
(Elle fonctionne sur mySQL)
Ma requête avec PDO :
$mail = $user->getMail(); $req = "SELECT libelle FROM mail WHERE mymail LIKE '%:mail%'"; $stmt = $this->getBdd()->prepare($req); $stmt->bindValue(":mail", $mail , PDO::PARAM_STR); $stmt->execute(); $resultat = $stmt->fetch(PDO::FETCH_ASSOC); $stmt->closeCursor(); var_dump($resultat);
Mon var_dump me retourne ça :
bool(false)
Alors qu'il devrait me retourné un libellé, des idées de comment écrire ça ?
Windows / Firefox 102.0
- Requête SQL dans PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Jointure sql ✓ - Forum MySQL
- Alert php ✓ - Forum PHP
3 réponses
Hello!
As tu quelques exemples des données passées dans mail ?
Le retour a false indique qu'il n'y a pas de resultat
A vérifier mais tu n'as peut-être pas besoin des simples quotes dans la requête :
> $req = "SELECT libelle FROM mail WHERE mymail LIKE :mail"; > $stmt->bindValue(":mail", "%" . $mail . "%" , PDO::PARAM_STR);
le bind value doit mettre des quotes + les tiennes ca doit généré une requete bizarre
Okay on se rapproche pcq il m'a bien retourné une liste de diffusion, mais le problème c'est qu'il devrait en avoir plusieurs.
Le var_dump :
Liste de diffusion : array(1) { ["libelle"]=> string(4) "TEST" }
D'après ce qu'il y a dans ma table il devrait me retourner un array(3) avec 2 autres libelle en plus.
Une idée pour cette anomalie ?
EDIT : j'ai oublié de préciser mais j'ai repris ta méthode :
$mail = $user->getMail(); $req = "SELECT libelle FROM mail WHERE mymail LIKE :mail"; $stmt = $this->getBdd()->prepare($req); $stmt->bindValue(":mail", "%". $mail. "%", PDO::PARAM_STR); $stmt->execute(); $resultat = $stmt->fetch(PDO::FETCH_ASSOC); $stmt->closeCursor(); var_dump($resultat);
Salut, merci pour ta réponse,
Voilà :
Qui me retourne :
Pour plus d'infos : je prend l'email de mon user sur une interface de modification de cet user et je cherche à retourner le nom des listes de diffusions dans lesquels il est inscrit.
Donc $mail retourne bien ce qu'il me faut.
EDIT : l'éditeur de code me censure mon mail automatiquement mais c'est un email basique du style : nom.prenomarobasesociete.com