Problème formulaire et requette
Résolu
ZAZAVEVE
-
Flog78 -
Flog78 -
Bonjour,
1) je suis hyper débutant en PHP
2) je veux récupérer à partir d'un formulaire 2 données ( prixmini et prixmaxi), les mettre dans un programme PHP, et dans ce programme, je veux comparer ces 2 valeurs au contenu d'une entrée (post_notes, INT) dans une table de ma bdd (bdd de dotclear), et j'affiche les donnée extraites du tableau (post_title) . Ma requête ne fonctionne pas. Bon, j'ai l'impression de pas être très clair ( pas très Dot clair haha). je mets le code ci-dessous. Si quelqu'un peut m'aider, ça serait super.
3) voila l'erreur:
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[prixmini] AND post_notes <=$_POST[prixmaxi]' at line 1
4) et le code largement inspiré ( pompé sur) du Site du Zéro
1) je suis hyper débutant en PHP
2) je veux récupérer à partir d'un formulaire 2 données ( prixmini et prixmaxi), les mettre dans un programme PHP, et dans ce programme, je veux comparer ces 2 valeurs au contenu d'une entrée (post_notes, INT) dans une table de ma bdd (bdd de dotclear), et j'affiche les donnée extraites du tableau (post_title) . Ma requête ne fonctionne pas. Bon, j'ai l'impression de pas être très clair ( pas très Dot clair haha). je mets le code ci-dessous. Si quelqu'un peut m'aider, ça serait super.
3) voila l'erreur:
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[prixmini] AND post_notes <=$_POST[prixmaxi]' at line 1
4) et le code largement inspiré ( pompé sur) du Site du Zéro
<?php try { // On se connecte à MySQL $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=maBDDamoi', 'root', '', $pdo_options); // On récupère tout le contenu de la table dc_post $reponse = $bdd->query('SELECT * FROM dc_post WHERE post_notes >=$_POST[prixmini] AND post_notes <=$_POST[prixmaxi]'); // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <p> <?php echo $donnees['post_title']; ?><br /> </p> <?php } $reponse->closeCursor(); // Termine le traitement de la requête } catch(Exception $e) { // En cas d'erreur précédemment, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } ?> <p> Veuillez taper prix mini et prix maxi </p> <form action="#" method="post"> <input type="text" name="prixmini" /> <input type="text" name="prixmaxi" /> <input type="submit" value="Valider" /> </form>
A voir également:
- Problème formulaire et requette
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
- Problème avec Google Chrome - Forum Google Chrome
4 réponses
Complément d'info. Quand je mets des nombres en dur dans ma requête, sans passer par le formulaire, ça fonctionne.
ex:
ex:
$reponse = $bdd->query('SELECT * FROM dc_post WHERE post_notes >=2000 AND post_notes <=12000');
Pour corriger l'erreur il faut écrire :
$reponse = $bdd->query('SELECT * FROM dc_post WHERE post_notes >='.$_POST["prixmini"].' AND post_notes <='.$_POST["prixmaxi"]);
voila deja 1 premiere erreur de corrigée, il y en a peut etre d'autres
EDIT : le point est avant la parenthese et le AND
EDIT : pas de guillement entourant la derniere parenthese
$reponse = $bdd->query('SELECT * FROM dc_post WHERE post_notes >='.$_POST["prixmini"].' AND post_notes <='.$_POST["prixmaxi"]);
voila deja 1 premiere erreur de corrigée, il y en a peut etre d'autres
EDIT : le point est avant la parenthese et le AND
EDIT : pas de guillement entourant la derniere parenthese