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 :

Afficher une image provenant de Postgresql


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Par défaut Afficher une image provenant de Postgresql
    Bonjour

    Voici mon code.

    Fichier "index.php" (page html classique avec du php dedans)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
    for($ri = 0; $ri < 2; $ri++) {
       $row = pg_fetch_array($res, $ri);
       $idPhoto = $row['id'];
       $nomPhoto = $row['nom'];
       echo $idPhoto. " - " . $nomPhoto . "<br />";
       echo "<img src='photo.php?idPhoto=" . $idPhoto . " />";
       echo "<br />";
    }
    ...
    Fichier "photo.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    $idPhoto0 = $_GET["idPhoto"];
    $link = pg_connect("host=...  dbname=...  user=...  password=...");
    //$sql = "select id, fichier_vignette  from photos where id=501;"; // MARCHE PARFAITEMENT (après suppr. de //...)
    $sql = "select id, fichier_vignette  from photos where id=" .  $idPhoto0 . " ;"; // MARCHE PAS
    $res = pg_query($link, $sql);
    pg_close($link);
    $raw = pg_fetch_result($res, 'fichier_vignette');
    header('Content-type: image/jpeg');
    echo pg_unescape_bytea($raw);
    ?>
    Il y a visiblement un problème de passage d'argument par $_GET entre index.php et photo.php, puisque avec id=501 c'est OK,
    mais avec id=" . $idPhoto0 . " rien ne va.

    Mon schéma est sans doute mauvais, mais comment faire ?

    Merci de l'aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ On NE met JAMAIS un $_GET ni un $_POST DIRECTEMENT dans une requête SQL !
    On utilise les requêtes préparées.

    requête préparée PostGreSQL :



    Surtout un $_GET, directement modifiable par ma grand-mère dans l'URL.

    2/ Que envoie ?

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Par défaut
    Comme quoi l'oubli de ' peut faire gaspiller beaucoup de temps pour une bêtise... Ou comment faire simple quand on peut faire compliqué.

    Merci à jreaux62

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

Discussions similaires

  1. Afficher une image provenant d'une base de données
    Par aljessy dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 04/11/2011, 09h34
  2. Afficher une image provenant d'internet
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/12/2007, 11h45
  3. afficher une image provenant d'SQL serveur
    Par mictif dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/10/2007, 22h23
  4. [FLASH MX2004] Afficher une image provenant d'Internet
    Par micatmidog dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 26/04/2006, 15h38
  5. Afficher une image provenant d'une ressource
    Par Spartan03 dans le forum Windows
    Réponses: 8
    Dernier message: 01/09/2005, 13h38

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