Where clause
Résolu
ir_1997
Messages postés
97
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
salut tous le monde enfaîte j'aimerai faire un where clause avec un formulaire la je sais pas c'est quoi le soucie .......
merci d'avance
merci d'avance
<?php if(isset($_POST['formvosart'])) { $idm = htmlspecialchars($_POST['idm']); $requser = $bdd->prepare('SELECT * FROM articles WHERE idm = ?'); $requser->execute(array($idm)); $vospost = $requser->fetch(); ?> <?php echo $idm['pseudo']; echo $idm['article']; echo $idm['prix']; ?> <?php } ?> <html> <head> <title>TUTO PHP</title> <meta charset="utf-8"> </head> <body> <form method="get" action=""> <input type="text" name="idm" > <input type="submit" name="vosart" > </form> </body> </html>
A voir également:
- Where clause
- Where is it - Télécharger - Gestion de fichiers
- Where is host file - Guide
- Where is my movie - Télécharger - Divers TV & Vidéo
- Where is appdata - Guide
- Column "xxxx" in where clause is ambiguous ✓ - Forum Webmastering
4 réponses
Pourquoi ru utilises htmlspecialchars ?
$idm = htmlspecialchars($_POST['idm']);
Si c'est pour exclure les caratères non désirés, ce n'est pas somme ça qu'il faut faire et dans le cas d'une requête préparée, c'est inutile.
$idm = htmlspecialchars($_POST['idm']);
Si c'est pour exclure les caratères non désirés, ce n'est pas somme ça qu'il faut faire et dans le cas d'une requête préparée, c'est inutile.
ir_1997
Messages postés
97
Date d'inscription
Statut
Membre
Dernière intervention
En faite c’est une requête préparée j’essaye de faire
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, quel est le symptôme?
à toi de nous décrire le soucis, nous pourrons ensuite t'aider à en découvrir la source.
à toi de nous décrire le soucis, nous pourrons ensuite t'aider à en découvrir la source.
Bonjour
Pour tes écho.. il faut utiliser ta variable $vospost et non pas $idm
Pour tes écho.. il faut utiliser ta variable $vospost et non pas $idm
Déjà, active l'affichage des erreurs PHP ainsi que l'affichage des erreurs PDO
(et place CHAQUE requête dans un bloc TRY / CATCH)
Comme expliqué ici :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Ensuite, applique les conseils donnés ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ce, au niveau du bout de code que tu nous montres, ça devrait donner
(et place CHAQUE requête dans un bloc TRY / CATCH)
Comme expliqué ici :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Ensuite, applique les conseils donnés ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ce, au niveau du bout de code que tu nous montres, ça devrait donner
<?php //affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd // // ... ton code de connexion avec activation des erreurs PDO //..... //..... //la suite de ton code : //récupération PROPRE des variables AVANT de les utiliser : $idm = !empty($_POST['idm']) ? $_POST['idm'] : NULL; //traitemetn du formulaire if(isset($_POST['vosart'])) { //préparation de la requête et des variables $sql = "SELECT * FROM articles WHERE idm = ?"; $datas = array($idm); //Execution de la requete try{ $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; $vospost = $requete->fetch(); }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } if(!empty($vospost)){ echo $vospost['pseudo']; echo $vospost['article']; echo $vospost['prix']; } } ?> <html> <head> <title>TUTO PHP</title> <meta charset="utf-8"> </head> <body> <form method="post" action=""> <input type="text" name="idm" > <input type="submit" name="vosart" > </form> </body> </html>