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

SQL Procédural MySQL Discussion :

[SGBD] Problème avec mysql_num_rows


Sujet :

SQL Procédural MySQL

  1. #1
    Membre averti
    Homme Profil pro
    Professeur
    Inscrit en
    Octobre 2002
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Professeur

    Informations forums :
    Inscription : Octobre 2002
    Messages : 14
    Par défaut [SGBD] Problème avec mysql_num_rows
    Bonjours,

    J'ai un problèmes avec la fonctions mysql_num_rows.

    En fait, je dois vérifier si un utilisateur a déjà rempli un sondage. Si oui un message d'erreur est affiché. Si non il est dirigé sur la page du sondage.

    Mais quand j'utilise mysql_num_rows pour vérifier si le numéro d'usager est présent dans ma table sondage, la fonction me renvoit un (1) même si c'est 0. Est-ce normale ? Est-ce que si c'est 0 il renvoit quand même 1 ?
    Si oui que pourrais-je faire ?


    Voici mon code :
    $sql2 = "SELECT * from sondage WHERE id_usager = '$critere'";
    $resultat2 = mysql_db_query($database_localhost,$sql2);
    $row_resultat2 = mysql_fetch_assoc($resultat2);
    $nombre2 = mysql_num_rows($resultat);
    echo "Nombre de sondage a votre numéro d'usager : ".$nombre2."<br>";
    echo "<hr>";
    if ($nombre2 <> 0){
    echo "<h3>Vous avez déjà rempli le sondage.";
    echo "Vous ne pouvez recommencer sauf en nous demandant de suprimer la premirère version.<br>";
    echo "Vous pouvez nous écrire en spécifier votre nos d'usager et adresse électronique pour que nous suprimions la première version<br>";
    echo "à ";
    } else {
    include "sondage_ok.php";
    }
    ?>

    Merci de votre aide,

    Jean-Pierre

  2. #2
    Membre émérite Avatar de trattos
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 000
    Par défaut

    Où est définie la variable $resultat dans ton script?

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Merci d'avoir utilisé les balises [code], ça simplifie la lecture.

    1 - 'mysql_db_query' => fonction obsolète
    voir ici : http://fr.php.net/manual/fr/function.mysql-db-query.php
    2 - mauvais paramètre passé à la fonction 'mysql_num_rows'
    voir ici : http://fr.php.net/manual/fr/function.mysql-num-rows.php

  4. #4
    Membre éprouvé Avatar de tony montana
    Profil pro
    Inscrit en
    Février 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 114
    Par défaut
    salut,
    Citation Envoyé par jeca
    1 - 'mysql_db_query' => fonction obsolète
    voir ici : http://fr.php.net/manual/fr/function.mysql-db-query.php
    ??
    je vois pas écrit ca dans la doc ...
    cette fonction est l'équivalent de mysql_select_db + mysql_query, elle n'est pas obsolète.

    Citation Envoyé par jeca
    2 - mauvais paramètre passé à la fonction 'mysql_num_rows'
    voir ici : http://fr.php.net/manual/fr/function.mysql-num-rows.php
    ?
    Il passe un "resource result" en paramètre, comme demandé par la fonction ...

    Le seul truc, c'est que tu passe $resultat qui doit correspondre à une requête que tu as fait avant, mais pas à celle qui t'intéresse ...
    donc remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nombre2 = mysql_num_rows($resultat);
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nombre2 = mysql_num_rows($resultat2);

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Lu dans la doc. à l'url indiquée :

    Cette fonction est décpréciée depuis PHP 4.0.6. N'utilisez pas cette fonction. Utilisez mysql_select_db() et mysql_query() à la place.

  6. #6
    Membre éprouvé Avatar de tony montana
    Profil pro
    Inscrit en
    Février 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 114
    Par défaut
    Citation Envoyé par jeca
    Lu dans la doc. à l'url indiquée :

    Cette fonction est décpréciée depuis PHP 4.0.6. N'utilisez pas cette fonction. Utilisez mysql_select_db() et mysql_query() à la place.
    Autant pour moi

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    au temps pour toi

  8. #8
    Membre averti
    Homme Profil pro
    Professeur
    Inscrit en
    Octobre 2002
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Professeur

    Informations forums :
    Inscription : Octobre 2002
    Messages : 14
    Par défaut Tonny Montana avait raison...
    Il s'agis de changer
    $nombre2 = mysql_num_rows($resultat);
    par
    $nombre2 = mysql_num_rows($resultat2);

    Erreur bête.....
    J'ai également changer les fonctions pour mysql_select_db() et mysql_query() à la place. comme précisé dans la doc.
    Merci de votre aide...

    Jean-Pierre

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

Discussions similaires

  1. [SGBD] probleme de connection avec MYSQL server 4.1
    Par sezar dans le forum Installation
    Réponses: 1
    Dernier message: 15/06/2006, 21h41
  2. [SGBD] message d'erreur de mysql_num_rows
    Par arti2004 dans le forum Requêtes
    Réponses: 9
    Dernier message: 15/06/2006, 17h35
  3. [SGBD] Problème requete PHP avec MySQL
    Par TomZ dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/06/2006, 01h40
  4. [SGBD] Gérer des droits avec php/mysql
    Par pontus21 dans le forum Administration
    Réponses: 9
    Dernier message: 04/05/2006, 19h56
  5. [SGBD] Pour moyenne base avec SQL ?
    Par PyRoFlo dans le forum Bases de données
    Réponses: 10
    Dernier message: 13/03/2004, 18h54

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