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

Requêtes MySQL Discussion :

Mysql et requêtes


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut Mysql et requêtes
    Bonjour,

    Voila j'ai une requete sql et je tente de faire un mysql_fetch_row (ou assoc ou array) mais ça ne marche pas

    la table n'est pas vide et je n'ai pas de message d'erreur

    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
    // Connexion à la base de donnees
    $server="doc.datagram.be";
    $nom_base = "test";
    $pass = "*****";
    $base = "exemples";
    //Gestion de la connexion  a la DB
    $connection = mysql_connect($server,$nom_base,$pass) or die ("Impossible de se connecter").mysql_error();
    $db_select = mysql_select_db($base, $connection) or die("Impossible de selectionner la base.");
    //on entre la requete
    $sql = "SELECT * FROM livres_tbl";
    $req = mysql_query($sql, $connection) || die ('Erreur lors de la requete '.mysql_error());
    $test=mysql_fetch_assoc($req);
    echo $test[0];
    echo $test;
    echo 1;
    j'ai juse 1 comme réponse

    Si vous pouvez m'aider
    Merci
    Frol

  2. #2
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    Citation Envoyé par frol
    j'ai juse 1 comme réponse
    ce ne serait pas ton Id par hasard?
    si tu as plusieurs champs essaies:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo $test[1];
    echo $test[2];
    et met un while sur mysql_fetch_assoc($req) si tu as plusieurs livres

  3. #3
    Membre chevronné
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Bonjour,

    Je pense que c'est normal. Il faut que tu fasses attention à la fonction que tu utilises pour récupérer les résultats. Ici tu utilises la fonction mysql_fecth_assoc, qui te renvoie un tableau associatif.

    Or toi tu accèdes au tableau par des indices et non par "asociation". Je pense que celà peut jouer, car la gestion mémorie est peut-être différente.

    Tu devais plutôt tenter soit :

    - de conserver le fetch_assoc et d'accéder aux champs par leur nom
    - d'utiliser fetch_array ou fetch_row et d'y accéder par lesz indices comme tu fais

    http://fr2.php.net/manual/fr/functio...etch-assoc.php
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  4. #4
    Membre averti
    Inscrit en
    Février 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 40
    Par défaut
    ajoute aussi un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $num_rows = mysql_num_rows($test);
    pour voir le nombre d'enrégistrement retourné par ta requête

  5. #5
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    j'ai essayé mysql_num_rows il e renvoit rien
    de même que mysql_fetch_row
    il devrait au moins e noter array

    le plus étonnant c'est que en passant par une classe je parvients à voir les entrées

    je vous mets la classe et elle servira même peut être à quelqu'un

    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
    <?php
    class req{
     
        function connect( $host,$account,$password,$dbname ){
            $this->dbname=$dbname;
            $this->link = mysql_connect($host,$account,$password);
            return mysql_select_db($dbname,$this->link);
        }
     
        function query_lim( $sql_1,$lim,$nbre ){
            $this->sql_1=$sql_1;
            $this->lim=$lim;
            $this->nbre=$nbre;
            $sql="SELECT * FROM ".$sql_1." LIMIT $lim,$nbre";
            $this->answer = mysql_query($sql,$this->link);
            return $this->answer;
        }
     
     
        function query( $sql ){
            $this->answer = mysql_query($sql,$this->link);
            return $this->answer;
        }
     
        function fetch_array(){
            return mysql_fetch_array($this->answer);
    	}
     
     
    	function liens($page){
            $limitesuivante = $this->lim + $this->nbre;
            $limiteprecedente = $this->lim - $this->nbre;
            $limitepg = $this->nbre - 1;
     
            $select = "SELECT count(id) FROM ".$this->sql_1;
            $result = mysql_query($select,$this->link)  or die ('Erreur2 : '.mysql_error() );
            $row = mysql_fetch_row($result);
            $total = $row[0];
     
            if($this->lim > $limitepg) {
                echo '<a href="'.$page.'limite='.$limiteprecedente.'">page precedente</a>';
            }
            if($limitesuivante < $total && $this->lim > 0) {
                echo'-';
            }
     
            if($limitesuivante < $total) {
                echo '<a href="'.$page.'limite='.$limitesuivante.'">page suivante</a>';
            }
     
    	}	
     
    }
    ?>

  6. #6
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    bien que ici seul une parti est utilisée
    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
    class req{
     
        function connect( $host,$account,$password,$dbname ){
            $this->dbname=$dbname;
            $this->link = mysql_connect($host,$account,$password);
            return mysql_select_db($dbname,$this->link);
        }
     
        function query( $sql ){
            $this->answer = mysql_query($sql,$this->link);
            return $this->answer;
        }
     
        function fetch_array(){
            return mysql_fetch_array($this->answer);
    	}	
     
    }
    ?>

    Je l'appelle comme ceci
    <?php
    require_once('req_class.php');
    $aff_chat = new req();
    $aff_chat->connect('doc.datagram.be','test','***','exemples');

    $aff_chat->query_lim("livres_tbl order by id desc",$_GET[limite],15);
    while( $result = $aff_chat->fetch_array() ){
    echo"$result[0],$result[1]";
    }
    ?>

  7. #7
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Regle n°3 sur $result et/ou $test

  8. #8
    Membre chevronné
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Et Règle n° 0 du forum : utilisez la balise code !
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  9. #9
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    Pour la règle 0 c'est fait
    pour le rest il renvoit
    bool(true) bool(false) 1
    bool(true) pour $req
    bool(false) pour $test

    Merci

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

Discussions similaires

  1. [MySQL]Sous - Requêtes compatible ou non compatible
    Par costadelo dans le forum Requêtes
    Réponses: 2
    Dernier message: 12/12/2006, 12h33
  2. Réponses: 3
    Dernier message: 02/12/2006, 16h10
  3. [MySQL] Une requête n'aboutissant pas
    Par Livingstone dans le forum Langage SQL
    Réponses: 6
    Dernier message: 13/02/2006, 10h36
  4. [MFC] [API mySQL] Sous requêtes
    Par Guybrush113 dans le forum MFC
    Réponses: 5
    Dernier message: 29/04/2004, 16h14
  5. Réponses: 14
    Dernier message: 17/03/2003, 18h31

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