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 :

Concatener requete avec variable


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2011
    Messages : 67
    Par défaut Concatener requete avec variable
    Bonjour tout le monde ,

    Je pense que sa ne va pas vous prendre beaucoup de temps pour m'aidez mais bon ...=)

    voila mon code :

    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
    <?php
                          try
    {
        $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
        $bdd = new PDO('mysql:host=10.0.0.10;dbname=tinyurl_litii', 'root', '', $pdo_options);
     
        $reponse = $bdd->query('SELECT url_utilisateur , url_reduite FROM tyniurl WHERE url_reduite=\'YRfz3Z\'');
        while ($donnees = $reponse->fetch())
        {
            echo 'la cle est ' . $donnees['url_reduite'] . ' et l\'adresse correspondante est :'.$donnees['url_utilisateur'].'<br />';
        }
     
        $reponse->closeCursor();
    }
    catch(Exception $e)
    {
        die('Erreur : '.$e->getMessage());
    }
       //header('Location: $url_redirection');
    ?>
    Ici je cherche dans ma base de donnée le champ ou "url_reduite"=YRfz3Z et m'afficher le contenu du champ "url_utilisateur" correspondant.

    Le truc c'est que je veux modifier un peu ma requête car :

    -je veux mettre dans une variable $hash les clés comme "YRfz3Z" (oui les clés , parce que j'en génère aléatoirement plus tôt dans mon code)

    -et modifier la requête pour qu'elle fasse la recherche en fonction du contenu de la variable ...


    J'ai cherché , rien trouvez de clair , modifier mon code mais rien ne marche ... J'me retrouve avec pleins d'erreurs ..
    J'imagine que sa doit tourner autour d'un $get .. mais j'ai pas réussi ..

    PS : si il y'a besoin je vous donne mon code en intégralité .

  2. #2
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Bonjour,

    Si tu récupère ta clé via un formulaire POST (ou par url GET) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $bdd->query('SELECT url_utilisateur , url_reduite FROM tyniurl WHERE url_reduite = "' . mysql_real_escape_string($_POST['nom_champs']) . '"');
    Sinon tu remplace par ta variable $hash qui récupère la valeur suivant ta méthode.

    Petite précision au passage, il faut quoter les valeurs de types string dans une requête SQL et protéger les caractères spéciaux avec mysql_real_escape_string().


    Cordialement,
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2011
    Messages : 67
    Par défaut
    D'accord j'essaye , le mysql_real_escape_string($_POST['nom_champs']) protège de quoi en faite ?

    Sa paraît bête mais j'ai du mal avec ces histoire de $_POST , $_GET ..

    Sa me paraît approprié comme méthode mais j'ai du mal ..

    Ma clé ($hash) est générée sur une autre page qui contient un formulaire de type submit , j'ai juste a mettre un $_GET['hash'] pour récupérer la valeur de ma variable $hash , et ensuite sur mon autre page le $_POST['hash'] récupère la valeur pour ma requête ( euh c'est plutôt l'inverse non ? )xD

  4. #4
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Pour mysql_real_escape_string() je te renvoie à la doc : par ici

    Si sur ta page A (page-a.php) tu as un formulaire avec ta clé générée, tu l'envoie, soit par la method POST soit par la method GET, vers la page B (page-b.php).

    Exemple de page-a.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $ma_cle = microtime(true);
    ?>
    <form method="post" action="page-b.php?mod=view" id="frm">
    <input type="text" value="<?php echo $ma_cle; ?>" id="hash" name="hash" />
    <input type="submit" value="Envoyer" name="send" />
    </form>
    Exemple de page-b.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    // Ici on récupère la valeur de la clé par la méthode POST
    $reponse = $bdd->query('SELECT url_utilisateur , url_reduite FROM tyniurl WHERE url_reduite = "' . mysql_real_escape_string($_POST['hash']) . '"');
     
    // Ici on récupère la valeur du "mod" transmis par la méthode GET
    $mod = $_GET['mod'];
    ?>
    Est-ce plus clair comme ça ?
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2011
    Messages : 67
    Par défaut
    Désoler pour l'attente de ma réponse mais vu que j'comprenais pas trop .. j'ai préfèere aller manger et chercher de nouveau ...Mais j'crois que je saisie pas tout ..

    Je te donne mon code entièrement pour voir si il y a quelque chose que j'ai omit te dire que pourrais changer la donne ...(je m'attend pas a se qu'on me donne le code qui manque mais sa a l'air tout bête et je comprend pas .. et sa commence a m'énervé de pas comprendre ! xD )

    La première page : index.php

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title></title>
            <link rel="stylesheet" type="text/css" href="style.css">
        </head>
        <body>
            <div id ="cadre">
                    <form name="inscription" method="post" action="redirection.php?mod=view">
                        Entrez l'url à réduire : <input type="text" name="url_utilisateur"/> <br/>
     
                        <input type="submit" name="reduire" value="OK"/>
                    </form>
            </div>
                            <?php
    /*Connexion à la base de données*/
                            try
                            {
                                 $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
                                 $bdd = new PDO('mysql:host=10.0.0.10;dbname=tinyurl_litii', 'root', '');  
                                 /*Le nom d'hôte (localhost) 
                                  * La base de données (tinyurl_litii) 
                                  * Le login (root) 
                                  * Le mot de passe (ici il n'y a pas de mot de passe, j'ai donc mis une chaîne vide)
                                  */
                                    $url_base = ' ';
                                       if(isset($_POST['reduire']))        //Script PHP qui a l'appui du bouton 'reduire'
                                          {
                                              $url_utilisateur=$_POST['url_utilisateur'];//récupere l'url rentré dans le formulaire dans une variable 'url_a_reduire'
                                              $url_base=$url_utilisateur;
                                              echo 'Voici l\'url que vous voulez reduire '. $url_utilisateur;//Et affiche
                                          }
                             }
                                catch(Exception $e)
                                {
                                   die('Erreur : '.$e->getMessage());
                                }
     
                                /**
                                 * * Genère une chaine de caractères aléatoirement  
                                 * * @param int $nbcar le nombre de caractères attendu
                                 * * @return string la chaine de caractères générée
                                 * 
                                 */
                                    $nbcar = 6;
                                    function generateRandomString($nbcar) 
                                    {
                                        $string = "";
                                        $chaine = "abcdefghijklmnopqrstuvwxyzABCDEFGJHIJKLMNOPQRSTUVWXYZ0123456789";//les caractères autoriser dans la clé.
                                        srand((double)microtime()*1000000);
     
                                        for($i = 0; $i < $nbcar; $i++) 
                                            {
                                                $string .= $chaine[rand() % strlen($chaine)];
                                            }
                                            return $string;
                                    }
                                    $hash = generateRandomString(6);
                                    $url_litii = 'www.litii.com/';//affectation du début de l'adresse dans une variable
                                    $mini_url_litii = $url_litii.generateRandomString(6);?><!--concaténation du nom de domaine et de la clé générée-->
            <div id="cadre2">                                                        
                                <?php
                                if($url_base != ' ')//Ici on crée un test pour ne pas afficher un lien.
                                                    {    
                                                       echo "<a href=\"$url_base\" title=\"L'accueil\">$mini_url_litii</a>";
     
                                                    }
                                ?>
            </div>
                                            <?php if($url_base != ' ')//Ici on crée un test pour empêcher de remplir la BDD a la connexion à la page.
                                                    {
                                                    echo 'Voici l\'url reduite '. $mini_url_litii;//Et affiche
                                                    $req=$bdd->prepare(('INSERT INTO tyniurl (url_utilisateur , url_reduite) VALUES(:url_utilisateur , :hash)'));//requête d'écriture de l'url dans la BDD
                                                    if ($req->execute(
                                                            array(
                                                            //Execution de la requête (écriture de l'url dans le champs url_tilisateur de la table tyniurl
                                                                    'hash'=>$hash,
                                                                    'url_utilisateur'=>$url_base
                                                                 )
                                                            ))
                                                            {
                                                                 echo " L'insertion s'est bien déroulée.";
                                                            }
                                                            else//Sinon , en cas de clé déjà existante dans la BDD, regénération de clé 
                                                            {
                                                                 '<br><br>'.print $req->errorCode();
                                                                 generateRandomString(6);
                                                                 '<br>'.$hash = generateRandomString(6).'<br>';
     
                                                                 echo $hash;
                                                                 $hash = $POST_['hash'];
     
                                                            }
     
     
                                                    } else 
                                                        {
                                                        //Si la variable $url_base!= ' ' alors il ne se passe rien.
                                                        }
                            ?>
        </body>
    </html>
    La deuxième page : redirection.php

    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
    <?php
                          try
                            {
                                $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
                                $bdd = new PDO('mysql:host=10.0.0.10;dbname=tinyurl_litii', 'root', '', $pdo_options);//Connexion à la BDD
     
                                $reponse = $bdd->query('SELECT url_utilisateur , url_reduite FROM tyniurl WHERE url_reduite=\'$_POST[\'hash\']\'');//Sélectionne tous les champs de la table tynirul lorsque le champ url_reduite est égal à YRfz3Z
     
                                    while ($donnees = $reponse->fetch())
                                        {
                                            echo 'la cle est ' . $donnees['url_reduite'] . ' et l\'adresse correspondante est :'.$donnees['url_utilisateur'].'<br />';
                                             echo $donnees['hash'];
                                        }
     
                                $reponse->closeCursor();
                            }
     
                            catch(Exception $e)
                            {
                                die('Erreur : '.$e->getMessage());
                            }
    ?>

    La j'ai une erreur quand j'arrive sur la deuxième page :

    -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 'hash']'' at line 1

    Et surtout a force de chercher sans trouvez j'commence a passer a coté des choses je crois .. J'perd en réflexion ...Surtout que c'est presque fini ...

    Merci de ton aide en tout cas =)

  6. #6
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    C'est bien d'échapper les simples quotes, mais pas trop

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $bdd->query('SELECT url_utilisateur , url_reduite FROM tyniurl WHERE url_reduite="' . $_POST['hash'] . '"');
    Pour l'histoire des quotes c'est simple : dès que tu fais une requête SQL qui agit sur des champs de type STRING il faut que tu "entoure" la valeur par des simples (ou doubles) quotes.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $query = mysql_query("SELECT * FROM ville WHERE nom_ville = 'paris'");
    ou
    $query = mysql_query('SELECT * FROM ville WHERE nom_ville = \'paris\'');
    ou
    $query = mysql_query("SELECT * FROM ville WHERE nom_ville = '" . $ville . "'");
    ou
    $query = mysql_query('SELECT * FROM ville WHERE nom_ville = "' . $ville . '"');
    Si j'avais fait une recherche sur un champs de type INT, j'aurai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = mysql_quer("SELECT * FROM ville WHERE id_ville = 12");
    ps: j'ai volontairement passé les protections des caractères spéciaux dans mes exemples.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2011
    Messages : 67
    Par défaut
    Effectivement ! En plus que la base ne gueule plus c'est plus propre !

    J'y ait noter dans un coin sa peut me servir ! =p

    Mais maintenant j'ai une erreur Notice: Undefined index: hash in...blablabla ..

    J'ai essayer de l'enlever en testant si la variable existait avec un isset mais cela ne change rien ...

  8. #8
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    C'est normal, c'est juste un problème de nommage dans ton formulaire HTML :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form name="inscription" method="post" action="redirection.php?mod=view">
    Entrez l'url à réduire : <input type="text" name="url_utilisateur"/><br/> <!-- Soit tu mets "hash" soit tu mets "url_utilisateur" -->
    <input type="submit" name="reduire" value="OK"/>
    </form>
    De plus, le ?mod=view n'est pas utile, il ne l'était que pour illustrer mon exemple de tout à l'heure.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2011
    Messages : 67
    Par défaut
    D'accord ! Donc étant donné que j'ai besoin d'envoyer les deux (url_utilisateur et hash) j'ai besoin de faire un deuxième , je peut donc faire un formulaire caché comme ceci ? Il me renvera vers l'autre page et me fera transiter la variable hash vers la page redirection.php non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form action="redirection.php" method="post" name="hash"> 
    <input type="hidden" name="affiche" value="ok">
    </form>
    et la je devrait plus avoir de problème ?

  10. #10
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Citation Envoyé par blinkman04 Voir le message
    D'accord ! Donc étant donné que j'ai besoin d'envoyer les deux (url_utilisateur et hash) j'ai besoin de faire un deuxième , je peut donc faire un formulaire caché comme ceci ? Il me renvera vers l'autre page et me fera transiter la variable hash vers la page redirection.php non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form action="redirection.php" method="post" name="hash"> 
    <input type="hidden" name="affiche" value="ok">
    </form>
    et la je devrait plus avoir de problème ?

    Si tu veux envoyer plusieurs informations dans un seul formulaire tu peux faire comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="redirection.php" method="post" name="frm"> 
    <input type="text" name="url_utilisateur" id="url_utilisateur" />
    <input type="hidden" name="hash" value="<?php echo $hash; ?>">
    </form>
    Pas besoin de s'embêter avec un GET (à mon avis).

    En revanche, quelque chose m'intrigue dans cette phrase : Il me renvera vers l'autre page et me fera transiter la variable hash vers la page redirection.php non ?

    Tu veux envoyer la variable "url_utilisateur" sur la page courante (index.php) et envoyer la variable hash à la page redirection .php ?
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2011
    Messages : 67
    Par défaut
    Oui c'est sa , car en gros j'ai besoin de laissez transiter "url_utilisateur" pour pouvoir exécuté ce qu'il ya a exécuté sur index.php comme il faut.

    Pour hash :

    sur la page index.php je génère une clé que j'affecte dans cette variable.

    Et je voudrais la récupérer pour ensuite la rechercher dans ma base de données (car elle est écrite dans le champ "url reduite" de ma BDD) et afficher le champ correspondant qui contient l'url que l'utilisateur a rentré dans le formulaire de la page index.php...

    Je me suis bien exprimer ? xD

  12. #12
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par Torgar Voir le message
    C'est bien d'échapper les simples quotes, mais pas trop

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $bdd->query('SELECT url_utilisateur , url_reduite FROM tyniurl WHERE url_reduite="' . $_POST['hash'] . '"');
    Pour l'histoire des quotes c'est simple : dès que tu fais une requête SQL qui agit sur des champs de type STRING il faut que tu "entoure" la valeur par des simples (ou doubles) quotes.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $query = mysql_query("SELECT * FROM ville WHERE nom_ville = 'paris'");
    ou
    $query = mysql_query('SELECT * FROM ville WHERE nom_ville = \'paris\'');
    ou
    $query = mysql_query("SELECT * FROM ville WHERE nom_ville = '" . $ville . "'");
    ou
    $query = mysql_query('SELECT * FROM ville WHERE nom_ville = "' . $ville . '"');
    Si j'avais fait une recherche sur un champs de type INT, j'aurai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = mysql_quer("SELECT * FROM ville WHERE id_ville = 12");
    ps: j'ai volontairement passé les protections des caractères spéciaux dans mes exemples.

    Lorsqu'on utilise PDO, il faut aussi utiliser les requêtes préparées qui vous éviteront tous ces problèmes...

    http://fr.php.net/manual/fr/pdo.prepare.php

  13. #13
    Membre actif
    Homme Profil pro
    IESA MULTIMEDIA
    Inscrit en
    Avril 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IESA MULTIMEDIA

    Informations forums :
    Inscription : Avril 2010
    Messages : 30
    Par défaut
    Citation Envoyé par s.n.a.f.u Voir le message

    Lorsqu'on utilise PDO, il faut aussi utiliser les requêtes préparées qui vous éviteront tous ces problèmes...

    http://fr.php.net/manual/fr/pdo.prepare.php
    J'allais le dire, avec les requetes préparées tu gagnes du temps, et c'est 100% sécurisé, tu peux pas te tromper !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $reponse = $bdd->prepare('SELECT url_utilisateur , url_reduite FROM tyniurl WHERE url_reduite = :url_reduite');
    $reponse->bindValue(':url_reduite', $_POST['hash']);
    $reponse->execute();
    Sans oublier quand c'est necessaire le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse->closeCursor();
    Fini les galères, et fini les injections SQL !

Discussions similaires

  1. requete avec variable dans VBA
    Par Mathieu.Nanoux dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 07/09/2007, 14h41
  2. probleme requete avec variable php
    Par Burinho dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 11/08/2007, 22h53
  3. requete avec variable
    Par yasmine* dans le forum JDBC
    Réponses: 2
    Dernier message: 02/04/2007, 01h00
  4. requete avec variable
    Par Mihalis dans le forum Bases de données
    Réponses: 5
    Dernier message: 13/09/2006, 20h01
  5. [MySQL] requete avec variable chaine de caractere
    Par infotron dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/10/2005, 23h03

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