[Mysql] Requête PDO avec variable php

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par salva, 16 Février 2012.

  1. salva
    salva WRInaute accro
    Inscrit:
    16 Avril 2006
    Messages:
    3 577
    J'aime reçus:
    0
    Bonjour,

    Toujours aussi à l'aise avec les requêtes MySql, je requière encore votre aide.

    Je souhaite récupérer dans une entrée de table la valeur d'un champ (id_text) quand l'id de cette même entrée correspond à la valeur d'une variable php ($adid existe sur les pages où doit être affichée la requête).

    Le code
    Code:
    <?php
        try
        {
            $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
            $bdd = new PDO('mysql:host=localhost;dbname=MA_BASE', 'user', '', $pdo_options);
            // Préparation de la requête
            $req = $bdd->prepare('SELECT id_text FROM ma_table WHERE id=? ');
            $req->execute(array($_GET['id']));
             while ($donnees = $req->fetch())
        {
            ?>
    
                <?php
                    //$adid existe sur les pages sélectionnées
                    $reponse = $bdd->query("SELECT id_text FROM ma_table WHERE id=$adid");
                    $valeur = $reponse->fetch();
                        echo substr($row['id_text'], 0, 40).'...';
                ?>
    
            <?php
        }
            $reponse->closeCursor();
        }
        catch(Exception $e)
        {
        die('Erreur : '.$e->getMessage());
        }
    ?>
    Je n'ai pas d'erreur affichée mais pas de résultat non plus :)
    Merci pour votre attention.
     
  2. franckM
    franckM WRInaute impliqué
    Inscrit:
    15 Novembre 2007
    Messages:
    808
    J'aime reçus:
    0
    Pourquoi pas simplement:
    Code:
    'SELECT id_text FROM ma_table WHERE id=$adid'
    
    Ah mince j'étais pas descendu jusqu'en bas ^^

    La variable $row elle vient d'où ?
     
  3. salva
    salva WRInaute accro
    Inscrit:
    16 Avril 2006
    Messages:
    3 577
    J'aime reçus:
    0
    Quand je fais ceci
    Code:
    <?php
    /* connection a une base mysql en local */
        try
        {
            $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
            $bdd = new PDO('mysql:host=localhost;dbname=MA_BASE', 'user', '', $pdo_options);
                    $reponse = $bdd->query("SELECT id_text FROM ma_table WHERE id=$adid");
                    $valeur = $reponse->fetch();
        {
            ?>
    
                <?php
                        echo substr($row['id_text'], 0, 4).'...';
                ?>
    
            <?php
        }
            $reponse->closeCursor();
        }
        catch(Exception $e)
        {
        die('Erreur : '.$e->getMessage());
        }
    ?>
    $adid ne semble pas reconnue, seul les trois points (...) s'affichent.

    $row['id_text'] est censé contenir le champ id_text de la requête $reponse
     
  4. franckM
    franckM WRInaute impliqué
    Inscrit:
    15 Novembre 2007
    Messages:
    808
    J'aime reçus:
    0
    $adid c'est un tableau ou un singleton ?
    pour voir si $adid est reconnue fait un echo

    Et en faisant un truc sans objet du type:
    Code:
    $sql="select * from ma_table where id='$adid'";
    $req=mysql_query($req);
    while($result=mysql_fetch_array($req))
    echo $result['id_text'];
    
     
  5. salva
    salva WRInaute accro
    Inscrit:
    16 Avril 2006
    Messages:
    3 577
    J'aime reçus:
    0
    Sans objet ça passe.

    Merci pour ton coup de main.

    Pour ma culture perso :) si quelqu'un voit comment faire en PDO je suis preneur.
     
  6. franckM
    franckM WRInaute impliqué
    Inscrit:
    15 Novembre 2007
    Messages:
    808
    J'aime reçus:
    0
    C'est surement ton $reponse->fetch() qui ne va pas. Il ne créé pas ta variable $row.
    Tu as la fonction fetch() et la fonction query() ?
     
  7. salva
    salva WRInaute accro
    Inscrit:
    16 Avril 2006
    Messages:
    3 577
    J'aime reçus:
    0
    Oui pour les fonctions.
     
  8. franckM
    franckM WRInaute impliqué
    Inscrit:
    15 Novembre 2007
    Messages:
    808
    J'aime reçus:
    0
    Et tu peux les afficher ? :mrgreen:
     
  9. salva
    salva WRInaute accro
    Inscrit:
    16 Avril 2006
    Messages:
    3 577
    J'aime reçus:
    0
  10. franckM
    franckM WRInaute impliqué
    Inscrit:
    15 Novembre 2007
    Messages:
    808
    J'aime reçus:
    0
    Bah j'ai jamais utilisé PDO. D'ailleurs faudrait peut être que j'essaie ?

    Sinon au lieu de mettre:
    tu mets:

    Ca marche pas ?
     
  11. franckM
    franckM WRInaute impliqué
    Inscrit:
    15 Novembre 2007
    Messages:
    808
    J'aime reçus:
    0
    Et sinon ce serait pas plutôt $valeur['id_text'] que $row['id_text'] ?
     
  12. salva
    salva WRInaute accro
    Inscrit:
    16 Avril 2006
    Messages:
    3 577
    J'aime reçus:
    0
    Comme ci-dessous, ça fonctionne :D
    Code:
    <?php
        try
        {
            $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
            $bdd = new PDO('mysql:host=localhost;dbname=MA_BASE', 'user', '', $pdo_options);
            $reponse = $bdd->query("SELECT * FROM ma_table WHERE id=$adid");
            $valeur = $reponse->fetch();
        {
        ?>
    
                <?php
                        echo substr($valeur['id_text'], 0, 120);
                ?>
    
            <?php
        }
            $reponse->closeCursor();
        }
        catch(Exception $e)
        {
        die('Erreur : '.$e->getMessage());
        }
    ?>
    Merci pour la leçon :wink:
     
  13. franckM
    franckM WRInaute impliqué
    Inscrit:
    15 Novembre 2007
    Messages:
    808
    J'aime reçus:
    0
    C'est bien ce qui me semblait depuis le début, cette variable $row me semblait bizarre... :wink:
     
Chargement...
Similar Threads - [Mysql] Requête PDO Forum Date
[Mysql] Requête PDO aléatoire Développement d'un site Web ou d'une appli mobile 7 Février 2012
[MySQL] Requête SELECT et INSERT entre 3 tables liées+Aide Développement d'un site Web ou d'une appli mobile 30 Avril 2014
[MySQL] sélectionner la dernière note pour chaque élève en une seule requète ? Développement d'un site Web ou d'une appli mobile 12 Avril 2012
[MySQL] Requête SELECT entre 3 tables liées Développement d'un site Web ou d'une appli mobile 10 Août 2011
[mysql] trier les résultats d'une requête selon une table non liée à la requête Développement d'un site Web ou d'une appli mobile 15 Avril 2011
[résolu][mysql] faire un "NOT LIKE" sur une chaîne contenant des / Développement d'un site Web ou d'une appli mobile 25 Octobre 2014
[MySQL] Liste (select) avec des lignes au hasard Développement d'un site Web ou d'une appli mobile 23 Octobre 2014
[MySQL] Nombre d'enregistrements sur des horaires précis Développement d'un site Web ou d'une appli mobile 19 Juillet 2013
[MYSQL] Comment remplacer caractères dans tous les champs de toutes les tables d'une base? Développement d'un site Web ou d'une appli mobile 11 Juillet 2013
[MYSQL] Une sorte de "OR JOIN" ? Développement d'un site Web ou d'une appli mobile 5 Juillet 2013
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice