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 :

[SGBD] message d'erreur de mysql_num_rows


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Par défaut [SGBD] message d'erreur de mysql_num_rows
    SLT
    Voila j'ai un message après exécution de ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    $rq="INSERT INTO ...........................................";
    $result=@mysql_query($rq);
    $nb=mysql_num_rows($result);
     
    if ($result)
    {
    .....................
    }

    une erreur s'est produite dans le script
    _FILE_ à la ligne _LINE_. : mysql_num_rows(): supplied argument is not a valid MySQL result resource

    NB: insertion s'effectue normalment

    comment me débarrasser de ce message?
    Merci

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    remplace par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query(...) or die(mysql_error())
    C'est pas une bonne idée de masquer les erreurs en phase de développement !

  3. #3
    Membre éclairé Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Par défaut
    Citation Envoyé par Eusebius
    remplace par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query(...) or die(mysql_error())
    C'est pas une bonne idée de masquer les erreurs en phase de développement !

    je cherche a regler justement le probleme pas à le masquer.
    @+

  4. #4
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par arti2004
    je cherche a regler justement le probleme pas à le masquer.
    @+
    D'où ma remarque.
    Avec ton code actuel tu masques les erreurs (ce qui rend impossible toute aide de notre part, par ailleurs).

    remarque en passant, tu exploites $result avec mysql_num_rows AVANT de tester if($result)...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Par défaut
    Citation Envoyé par arti2004
    je cherche a regler justement le probleme pas à le masquer.
    @+
    a se moment la enleve le @ devant mysqlquery() tu vera ton erreur et se sera plus pratique pour t'aider ^^

  6. #6
    NoT
    NoT est déconnecté
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Par défaut
    Lut,

    L'execution d'une requête INSERT via la commande mysql_query ne renvoi jamais de ressource, mais un simple booléen ( true / false ) , c'est donc normal que le mysql_result renvoye une erreur puisque tu ne lui passes pas un numéro de ressource mais un booléen.

    Ton code devient plus simple pour résoudre ton soucis :

    $rq="INSERT INTO ...........................................";
    if (mysql_query($rq))
    {
    ...
    }

  7. #7
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par NoT
    Lut,

    L'execution d'une requête INSERT via la commande mysql_query ne renvoi jamais de ressource, mais un simple booléen ( true / false )
    Non, c'est toujours une ressource qui sera renvoyée, sauf en cas d'erreur, mais effectivement pour un INSERT il faut utiliser mysql_affected_rows et pas mysql_num_rows.

    J'avais zappé que c'était un INSERT, désolé.

  8. #8
    Membre émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Par défaut
    Pour connaitre le nombre de ligne affectee

    http://fr.php.net/manual/en/function...ected-rows.php

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

Discussions similaires

  1. Intercepter les messages d'erreur du SGBD FireBird
    Par adelneo dans le forum Bases de données
    Réponses: 13
    Dernier message: 25/11/2011, 16h18
  2. Réponses: 4
    Dernier message: 26/06/2006, 17h09
  3. Réponses: 4
    Dernier message: 04/03/2003, 01h05
  4. [CR] Message d'erreur
    Par nono1 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 11/09/2002, 14h54
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

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