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 :

problème de requête [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut problème de requête
    Bonjour à tous,

    Je vous expose mon problème. C'est concernant une requête dans une page php.

    Je suis sur un synology DS101J (c'est un NAS) pour la base de donnée et les pages php.

    voici le code de ma page:
    <?php

    $id = $_GET['ID'];

    // on se connecte à MySQL
    $db = mysql_connect('localhost', 'root', 'xxxxx');

    // on sélectionne la base
    mysql_select_db('ISBN',$db);

    // on crée la requête SQL
    $sql = "SELECT ID FROM blobs WHERE ID='".$id."'";
    #$sql = "SELECT serial_number FROM blobs WHERE id='".$id."'";
    echo $sql."<br>";

    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    echo $req."<br>";

    #echo $id;
    echo $req['ID']."<br>";

    // On met en place les headers, pour dire qu'on a bien là une photo.
    #header('Content-type: image/png'); // cf (1)
    #header('Content-transfer-encoding: binary');

    // Et on envoie la sauce
    ##echo $req['blob_file'];


    // on ferme la connexion à mysql
    mysql_close();
    ?>

    ma requête me donne:
    Nom : firefox - requete01.jpg
Affichages : 83
Taille : 87,0 Ko

    en me connectant avec mysql query broser j'obtiens bien l'ID "10126":
    Nom : MySQL Query Browser - requete01.jpg
Affichages : 51
Taille : 144,3 Ko

    voici les informations de la table:
    Nom : MySQL Query Browser - requete02.jpg
Affichages : 50
Taille : 278,9 Ko

    la même requête sql avec phmpyadmin me donne bien "10126":
    Nom : phpMyAdmin01.jpg
Affichages : 35
Taille : 168,4 Ko

    avec la commande : echo $req['ID']."<br>";
    dans la page php, je m’attendais à obtenir la valeur "10126", or il n'en n'est rien.
    avec le résultat le la requête printé avec: echo $req."<br>";
    me donne une drôle de valeur...

    Donc que fais-je de faut dans mes requêtes pour ne pas obtenir la bonne valeur ?

    D'avance, je vous remercie de votre aide.

    Bonne soirée

    chris

  2. #2
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    La drôle de valeur une ressource, et c'est normal.
    La fonction mysql_query() retourne une ressource, c'est grâce à cette ressource qu'on pourra par exemple parcourir le ou les résultats.
    La doc de Php : mysql_query()

    Il te faut donc parcourir/récupérer la valeur avec mysql_fetch_assoc() qui te retournes le résultat sous forme de tableau (s'il y en a au moins 1 cependant).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // on exécute la requête
    $nas_rs = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
    // On récupère la donnée dans un tableau associatif
    // On vérifie au préalable qu'il y ait une ressource
    if (!empty($nas_rs)) {
        $nas = mysql_fetch_assoc($nas_rs);
        echo 'ID : '.$nas['ID'].'<br />';
    }

    PS : Mets les parties de codes dans un codeBox (comme ci-dessus).
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Salut RunCodePhp,

    merci de ta réponse, car elle m'a bien aidé.

    ça marche beaucoup mieux ainsi.

    bonne soirée

    @+ chris

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

Discussions similaires

  1. Réponses: 19
    Dernier message: 27/08/2003, 15h32
  2. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  3. Problème de requètes concurentes
    Par Emmanuel.G dans le forum XMLRAD
    Réponses: 3
    Dernier message: 08/08/2003, 16h51
  4. Réponses: 2
    Dernier message: 16/07/2003, 14h40
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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