Requete sql ORDER BY et GET
Fermé
niicoos
-
4 juil. 2010 à 17:58
avion-f16 Messages postés 19125 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 23 mars 2023 - 4 juil. 2010 à 20:00
avion-f16 Messages postés 19125 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 23 mars 2023 - 4 juil. 2010 à 20:00
A voir également:
- Requete sql ORDER BY et GET
- Blob sql ✓ - Forum Webmastering
- Message bounced by administrator - Forum Messagerie
- Sql (+) - Forum Programmation
- Requete http - Guide
- Requete sql commence par ✓ - Forum Webmastering
2 réponses
avion-f16
Messages postés
19125
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 mars 2023
4 468
4 juil. 2010 à 18:29
4 juil. 2010 à 18:29
Salut.
Quand tu exécutes la requête avec la méthode PDOStatement::execute, les "?" sont remplacées par la variables passée. Par défaut, PDO ajoute automatiquemetn des guillemets autour de la valeur, ce qui donne donc :
Je pense que tu as remarqué l'erreur.
Je te propose de faire comme ceci :
Quand tu exécutes la requête avec la méthode PDOStatement::execute, les "?" sont remplacées par la variables passée. Par défaut, PDO ajoute automatiquemetn des guillemets autour de la valeur, ce qui donne donc :
SELECT * FROM map ORDER BY "champ"
Je pense que tu as remarqué l'erreur.
Je te propose de faire comme ceci :
<?php
$champsAutorises = array('champ1','champ2','champ3');
if(isset($_GET['ordre']) && in_array($_GET['ordre'], $champsAutorises)) {
$sql = 'SELECT * FROM table ORDER BY '.$_GET['ordre'];
$reponse = $bdd->query($sql);
/* ... */
} else {
/* ... */
}Dans l'array $champsAutorises, il suffit de mettre les champs pour lesquels tu autorises un "ORDER BY".
Merci
avion-f16
Messages postés
19125
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 mars 2023
4 468
4 juil. 2010 à 20:00
4 juil. 2010 à 20:00
Si c'est résolu il y a un lien à cliquer en haut (Marquer comme résolu).