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 :

mysql_fetch_array(): supplied argument is not a valid MySQL result resource [Fait] [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Points : 13
    Points
    13
    Par défaut mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    Bonjour à tout la communauté,

    Je viens de trouver un mods pour un forum PHPBB3 permettant de générer un flux rss pour afficher les derniers messages.
    Le rss fonctionne à merveilleur sauf que dans l'index (page d'accueil) du forum il y a un bug de mise en page et cette erreur la juste avant de charger la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [phpBB Debug] PHP Notice: in file /index.php on line 135: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    [phpBB Debug] PHP Notice: in file /index.php on line 135: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    [phpBB Debug] PHP Notice: in file /index.php on line 135: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    [phpBB Debug] PHP Notice: in file /index.php on line 135: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    [phpBB Debug] PHP Notice: in file /index.php on line 135: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    [phpBB Debug] PHP Notice: in file /index.php on line 135: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    [phpBB Debug] PHP Notice: in file /includes/functions.php on line 3012: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2563)
    [phpBB Debug] PHP Notice: in file /includes/functions.php on line 3014: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2563)
    [phpBB Debug] PHP Notice: in file /includes/functions.php on line 3015: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2563)
    [phpBB Debug] PHP Notice: in file /includes/functions.php on line 3016: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2563)
    Voici le script php à ajouter dans le fichier index.php du forum:

    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    //--------------------
    // crée le fichier RSS.XML
    //------------- faire le non du fichier avec la date du jour -------------------------------------------
    $fichier=$phpbb_root_path."./rss/rss.xml";
    //--------------------------------------------------------------------------------------------------------------------------------
    $Fnm = $fichier;
    $inF = fopen($Fnm,"w");
    //---------------------------- debut fichier rss.xml --------------------
    fputs($inF,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
    fputs($inF,"<rss version=\"2.0\">\n");
    fputs($inF,"<channel>\n");
    fputs($inF,"<title>".$config['sitename']."</title>\n");
    fputs($inF,"<description>".$config['site_desc']."</description>\n");
    fputs($inF,"<link>".$config['server_protocol'].$config['server_name']."</link>\n");
    //--------------- lecture de la table historique ----------------------------
    $sql = 'SELECT * FROM '.POSTS_TABLE;
    $result = $db->sql_query($sql);
    //$TNBeng = mysql_num_rows($result); // nombre enregistrement maximun pour RC5
    // modif RC7------------------------------------------------------------
    $TNBeng=0;
    while ($db->sql_fetchrow($result))
    {
    $TNBeng ++ ;
    }
    // fin modif RC7--------------------------------------------------------
    $TNBengDebut=$TNBeng-10;
    // affiche que les derniers
    if ($TNBeng>10)
    {
    $query="SELECT * FROM ".POSTS_TABLE."  LIMIT ".$TNBengDebut.",".$TNBeng;
    }
     else
    {
    $query = 'SELECT * FROM '.POSTS_TABLE;
    }
    $resultat = $db->sql_query($query);
     
    //-----------------------
    while ($row = $db->sql_fetchrow($resultat))
    {
    $id_poste=$row['topic_id'];
    $auteur=$row['poster_id'];
    $lecture=$row['forum_id'];
     
    if ($lecture<>"0" or $lecture<>"0") // liste des forums qui sont bloquer
    {
    fputs($inF,"<item>\n");// denut item
    //------- recherche l'auteur du post
    $query = 'SELECT * FROM '.USERS_TABLE." WHERE user_id='$auteur'";
    $cherche = $db->sql_query($query);
    while ($ligne = $db->sql_fetchrow($cherche))
    {
    fputs($inF,"<author>".$ligne['username']."</author>\n"); //affiche
    }
    //---------- fin de recherche de l'auteur du post
    fputs($inF,"<pubDate>".$user->format_date($row['post_time'])."</pubDate>\n");
    fputs($inF,"<link>".$config['server_protocol'].$config['server_name']."/viewtopic.php?f=".$row['forum_id']."&amp;t=".$row['topic_id']."</link>\n");
    fputs($inF,"<title>".$row['post_subject']."</title>\n");
    //
    $query="SELECT * FROM ".POSTS_TABLE." where topic_id='$id_poste'";
    $resul = $db->sql_query($query);
    if ($row=mysql_fetch_array($resul))
    {
    $message = censor_text($row['post_text']);
    $message = str_replace($row['bbcode_uid'],"",$message); //SUPPRIME LE CODE BBCODE
     
    $message = str_replace("[b:]","<B>",$message);
    $message = str_replace("[/b:]","</B>",$message);
     
    $message = str_replace("[i:]","<I>",$message);
    $message = str_replace("[/i:]","</I>",$message);
     
    $message = str_replace("[u:]","<u>",$message);
    $message = str_replace("[/u:]","</u>",$message);
     
    $message = str_replace("[size=150:]","<FONT SIZE=\"+1\">",$message);
    $message = str_replace("[/size:]","</FONT>",$message);
     
    $message = str_replace("[color=","<FONT COLOR=\"",$message);                  				   
    $message = str_replace("[/color:]","</FONT>",$message);
     
    $message = str_replace(":]","\">",$message);
    }
    fputs($inF,"<description>".$message."</description>\n");
    fputs($inF,"</item>\n"); // fin item
    }
    //----------------------- fin du fichier rss.xml         
    }      
    fputs($inF,"</channel>\n");
    fputs($inF,"</rss>\n");
    fclose($inF); // fermer le fichier
    // --------- FIN RSS----------------------------------------------------------------------------
    //----------- ouverture fichier ---------

  2. #2
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    essaye de remplacer les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $query="SELECT * FROM ".POSTS_TABLE." where topic_id='$id_poste'";
    $resul = $db->sql_query($query);
    if ($row=mysql_fetch_array($resul))
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $query="SELECT * FROM ".POSTS_TABLE." where topic_id='$id_poste'";
    $resul = $db->sql_query($query);
    if ($row=mysql_fetch_array($resul) && mysql_num_rows($resul) > 0 )

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Points : 13
    Points
    13
    Par défaut
    non toujours le même

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572

  5. #5
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    faudrait que tu trouves de quel mysql_fetch_array() l'erreur provient... après on pourra t'aider un peu plus ;-)

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Points : 13
    Points
    13
    Par défaut
    ben celui qui tu as indiquer sur ton précédant postes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $resul = $db->sql_query($query);
    if ($row=mysql_fetch_array($resul))
    {
    J'ai supprimer la condition et cela fonctionne plus de bug

  7. #7
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    vérifie que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $id_poste=$row['topic_id'];
    ces 2 variables existent et qu'elles contiennent quelque chose

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Points : 13
    Points
    13
    Par défaut
    oui elle existent bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while ($row = $db->sql_fetchrow($resultat))
    {
    $id_poste=$row['topic_id'];
    $auteur=$row['poster_id'];
    $lecture=$row['forum_id'];
    Edit : j'ai enlever la condition et plus de bug mais le problème c'est que dans le rss il y a le titre du message ok mais il y aussi le message et ce n'étais pas indiquer avant il n'y avait que le titre.
    c'est la condition suivante qui pose problème en fait : if ($row=mysql_fetch_array($resul))
    {


    EDIT2 : C'est bon c'est la condition qui est à la base de ce bug et dans le rss le message doit bien s'afficher donc tout es normal merci de votre aide

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

Discussions similaires

  1. [MySQL] mysql_fetch_array(): supplied argument is not a valid MySQL result resource chez OVH
    Par spy74 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/08/2008, 12h21
  2. [MySQL] Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    Par momoh dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 19/07/2008, 15h32
  3. [MySQL] Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    Par Pitchoune33 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/03/2008, 21h25
  4. [MySQL] Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    Par oOBaalberithOo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/10/2007, 13h52
  5. [MySQL] Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    Par farfella dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/10/2007, 11h47

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