IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PDO bindValue] :var sans quote


Sujet :

Langage PHP

  1. #1
    Membre régulier

    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Juin 2011
    Messages : 81
    Points : 89
    Points
    89
    Billets dans le blog
    2
    Par défaut [PDO bindValue] :var sans quote
    Bonjour,

    Dns l'intention de trier des données de façon sûre, voici le type de requête que je recherche :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id_donnee, date_donnee FROM donnee ORDER BY :tri ASC
    Or tri qui est créé via un bindValue()
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    bindValue(':tri', $tri, PDO::PARAM_STR);
    contient '$tri' et non $tri. Serait-il possible d'obtenir simplement $tri de façon à faire correspondre cette variable avec un nom de colonne ?

    Merci

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    On ne peut pas préparer la structure de la requête, uniquement les données. D'où vient la variable $tri ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    pas de bindValue dans ce cas.

    Pour sécuriser la requête, tu peux utiliser un array des valeurs autorisées.
    Ex.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $tri = ....; //(récupéré en get ou post ?)
    $tri_array = ('id_donnee', 'date_donnee', ...............);
     
    $orderby = ( in_array($tri, $tri_array) )? " ORDER BY ".$tri." ASC" : "";
     
    $sql = "SELECT id_donnee, date_donnee FROM donnee".$orderby;
    On peut imaginer changer de sens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $tri = ....; //(récupéré en get ou post ?)
    $tri_array = ('id_donnee', 'date_donnee', ...............);
    $sens = ....; //(récupéré en get ou post ?)
    $sens_array = ('ASC', 'DESC');
     
    $orderby = ( in_array($tri, $tri_array) && in_array($sens, $sens_array) )? " ORDER BY ".$tri." ".$sens : "";

  4. #4
    Membre régulier

    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Juin 2011
    Messages : 81
    Points : 89
    Points
    89
    Billets dans le blog
    2
    Par défaut
    Celira, jreaux62 merci à vous
    Mes données proviennent d'un $_GET effectivement, je vais passer par un tableau.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Apostrophe avec les requetes preparees pdo bindvalue
    Par sabdoul dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 17/09/2014, 18h34
  2. insérer texte sans quotes
    Par mussara dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/06/2008, 13h14
  3. [vbnet 1.1]Inserer deux simple quote sans texte dans une db
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/03/2007, 08h51
  4. [PDO] et bindValue qui ne semble pas fonctionner
    Par Tommyl dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 31/10/2006, 16h12
  5. Réponses: 1
    Dernier message: 26/03/2006, 17h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo