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

PHP & Base de données Discussion :

PDO place horders pour le nom de table et champs ?


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 24
    Par défaut PDO place horders pour le nom de table et champs ?
    Bonjour,

    J'essaies de faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    $sql2 = "INSERT INTO :table (idratio, :champ) VALUES ($dernier_id, :id)";
        $prep2 = $db->prepare($sql2);
        //On construit les blindValues en fonction des paramètres renseignés
        //Puis on insert à chaque if = true
        if (!isset($idjeu) && is_int($idjeu)) {
            $prep2->bindValue(':table', 'bonus_jeu', PDO::PARAM_STR);
            $prep2->bindValue(':champ', 'idjeu', PDO::PARAM_STR);
            $prep2->bindValue(':id', $idjeu, PDO::PARAM_INT);
            $prep->execute();
        }
        if (!isset($idlangue) && is_int($idlangue)) {
            $prep2->bindValue(':table', 'bonus_langue', PDO::PARAM_STR);
            $prep2->bindValue(':champ', 'idlangue', PDO::PARAM_STR);
            $prep2->bindValue(':id', $idlangue, PDO::PARAM_INT);
            $prep->execute();
        }
        if (!isset($idtypecontent) && is_int($idtypecontent)) {
            $prep2->bindValue(':table', 'bonus_typecontent', PDO::PARAM_STR);
            $prep2->bindValue(':champ', 'idtypecontent', PDO::PARAM_STR);
            $prep2->bindValue(':id', $idtypecontent, PDO::PARAM_INT);
            $prep->execute();
        }
        if (!isset($idlangue) && is_int($idlangue)) {
            $prep2->bindValue(':table', 'bonus_langue', PDO::PARAM_STR);
            $prep2->bindValue(':champ', 'idlangue', PDO::PARAM_STR);
            $prep2->bindValue(':id', $idlangue, PDO::PARAM_INT);
            $prep->execute();
        }
    est-ce possible ?

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Non,
    par contre ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql2 = "INSERT INTO $table (idratio, $champs) VALUES ($dernier_id, :id)";
    oui

    Donc dans ton cas il faut repréparer la requête, ce qui logique puisque n'étant pas sur les même table/champs le plan d'execution compilé lors du prepare ne peut être identique.

    même si à priori tu ne peux pas injecter grand chose à ces endroits là il convient de bien nettoyer/filtrer/vérifier $table et $champs.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Nom de Tables et Champs avec Espaces SQL et JAVA
    Par bbs07 dans le forum NetBeans
    Réponses: 0
    Dernier message: 25/07/2010, 23h10
  2. [ORACLE XE]Noms de table et champs en minuscule
    Par Takumi dans le forum Débuter
    Réponses: 2
    Dernier message: 14/07/2009, 01h37
  3. Réponses: 9
    Dernier message: 16/01/2009, 15h55
  4. Réponses: 4
    Dernier message: 11/09/2008, 16h03
  5. Aide pour une requete, deux table, un champ commun.
    Par Space Cowboy dans le forum Requêtes
    Réponses: 1
    Dernier message: 15/03/2007, 10h59

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