Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Dannato "not a valid MySQL result resource"

    Ciao a tutti,
    ho un problema che non capisco proprio da dove provenga.
    Io ho questo codice:
    Codice PHP:
    <?
    include "../config.inc.php";

    $id_bach $_GET["id_bach"];

    $sql "SELECT BACH, ID_TOPIC, USER_TOPIC, MSG_TOPIC, DATA_TOPIC FROM BACHECHE_TOPICS
                INNER JOIN BACHECHE
                    ON NOME_BACH = BACH
                WHERE ID_BACH = 
    $id_bach ORDER BY ID_TOPIC DESC 
                LIMIT 0 , 10"
    ;
    $query mysql_query($sql,$connessione) || die(mysql_error());

    echo 
    "
    <?xml version=\"1.0\"?>\n
    <rss version=\"2.0\">\n
      <channel>\n
        <title>PHYROSIA: Avvisi Bacheca </title>\n
        <link>[url]http://www.phyrosia.com[/url]</link>\n
        <language>it</language>\n"
    ;

    while(
    $row mysql_fetch_array($query)){
        
    $id_topic     $row["ID_TOPIC"];
        
    $bach         $row["BACH"];
        
    $user_topic    $row["USER_TOPIC"];
        
    $msg_topic    $row["MSG_TOPIC"];
        
    $data_topic $row["DATA_TOPIC"];
        
        echo 
    "
            <item>\n
              <title><![CDATA[Messaggio da parte di "
    .$user_topic."]]></title>\n
              <link>[url]http://www.phyrosia.com/login.php?destinazione=bacheca/vis_bacheca2.php?id_topic=[/url]"
    .$id_topic."</link>\n
              <description><![CDATA[]]></description>\n
              <pubDate>"
    .date("r",$data_topic)."</pubDate>\n
            </item>\n"
    ;
    }

    echo 
    "
      </channel>\n
    </rss>
    "
    ;
    ?>
    (lasciate stare il tag <a href> dentro a <link>, lo mette il forum automaticamente)

    e eseguendolo ricevo questo errore:
    codice:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\...\phyrosia\bacheca\visualizza_bacheca_rss.php on line 21
    so che questo errore lo da quando la query sql ha dei problemi oppure sbaglio a scrivere il nome della variabile della query, ma questa volta la query l'ho provata direttamente sul server MySQL e lui non si lamenta di niente, la esegue alla perfezione, e le variabili sono scritte correttamente....
    non saprei dove sbattere la testa >_<

    Se qualcuno potrebbe aiutarmi mi farebbe molto piacere.

    Grazie in anticipo!
    Flash Developer for Rich Media
    PHP, jQuery Developer

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    A MySQL ti connetti, vero?
    Nel codice non vedo la connessione.

    Prova anche a stampare la query che mandi
    Codice PHP:
     echo $sql

  3. #3
    Non so quanto si leghi al tuo errore, pero' mi sembra ci siano problemi di virgolette (a meno che non sia solo dovuto al quote).

  4. #4
    Originariamente inviato da k.b
    Non so quanto si leghi al tuo errore, pero' mi sembra ci siano problemi di virgolette (a meno che non sia solo dovuto al quote).
    infatti ... l'errore viene anche evidenziato dalla diversa colorazione nell'echo. Problema di doppi apici senza escape. Forse sarebbe meglio uscire dal php, stampare l'html e riaprire il php ... non male sarebbe pure usare opportunamente il tag php esteso <?php

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    il problema di colorazione del codice qui sul forum è dovuto alle virgolette AGGIUNTE DAL FORUM STESSO nel momento che ha rilevato il link all'interno del tag <link> a cui avevo scritto di non dar peso nel primo post . . . . . .

    Si, a mysql mi connetto... la connessione è presente nel file incluso ed è specificata anche nel mysql_query dalla variabile "$connessione"

    quindi siamo punto e a capo =\
    Flash Developer for Rich Media
    PHP, jQuery Developer

  6. #6
    prova a togliere l'echo uscendo da php e rientrando successivamente per il while.

    codice:
    .......
    
    $query = mysql_query($sql,$connessione) || die(mysql_error());
    ?>
    
    <?xml version="1.0"?>\n
    <rss version="2.0">\n
      <channel>\n
        <title>PHYROSIA: Avvisi Bacheca </title>\n
        <link>http://www.phyrosia.com</link>\n
        <language>it</language>n
    
    <?php
    
    while($row = mysql_fetch_array($query)){
        $id_topic     = $row["ID_TOPIC"];
        $bach         = $row["BACH"];
        $user_topic    = $row["USER_TOPIC"];
        $msg_topic    = $row["MSG_TOPIC"];
        $data_topic = $row["DATA_TOPIC"];
    
    .... etc....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    mi da uno strano "unexpected T_STRING" ma in ogni caso il problema non è l'echo... l'xml lo stampa ma quando arriva al while si blocca per l'errore sul mysql_fetch_array....
    uff non riesco a capire proprio

    ho persino aggiunto un
    Codice PHP:
    <?php
    header
    ("Content-type: text/xml");
    ?>
    che non risolve l'errore ma di sicuro serve per la corretta visualizzazione.
    Flash Developer for Rich Media
    PHP, jQuery Developer

  8. #8
    Originariamente inviato da Miroku
    mi da uno strano "unexpected T_STRING" ma in ogni caso il problema non è l'echo... l'xml lo stampa ma quando arriva al while si blocca per l'errore sul mysql_fetch_array....
    uff non riesco a capire proprio

    ho persino aggiunto un
    Codice PHP:
    <?php
    header
    ("Content-type: text/xml");
    ?>
    che non risolve l'errore ma di sicuro serve per la corretta visualizzazione.
    Non e' chiaro quel codice, forse a causa del parser del forum.

    prova a vedere cosa ti rende come resource id#

    $query = mysql_query($sql,$connessione) || die(mysql_error());
    echo $query;

    correggi in ogni caso il tag php <? e' equivoco tra php e xml.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    ho già provato a sistemare il <?php e l'ho lasciato...

    In più se stampo $query mi restituisce "1" che non saprei come interpretare...

    EDIT:
    HO RISOLTO!!!
    Mi è bastato cambiare da
    Codice PHP:
    $query mysql_query($sql,$connessione) || die(mysql_error()); 
    a
    Codice PHP:
    $query mysql_query($sql,$connessione) or die(mysql_error()); 
    in pratica gli stava sulle scatole la Lazy Evaluation... credo perché valutato che mysql_query restituiva TRUE (anzi meglio dire "NON restituiva FALSE") andava a vedere se die() restituiva TRUE o FALSE per poter dare il risultato finale... peccato che die() non restituisce valore booleano ^^;;;
    Flash Developer for Rich Media
    PHP, jQuery Developer

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.