Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924

    Mysql_fetch_object litiga con processore XSLT?

    Salve a tutti, sono alle prese con un problema davvero singolare:

    ho uno script che esegue nell'ordine i seguenti passi:

    1) esegue una query su un DB mysql
    2) recupera i dati dal DB
    3) crea un XML a partire da questi dati e infine
    4) esegue una trasformazione xslt con l'istruzione "xslt_process".

    Alla prima esecuzione tutto il codice non dà nessun tipo di errore. Se faccio
    invece il refresh della pagina (con un POST o semplicemente facendo F5) ottengo
    il seguente errore

    codice:
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result 
    resource
    facendo il debug ho scoperto che l'esecuzione della query produce invece un recordset
    valido (ho controllato con is_resource), ma - attenzione - se faccio questo controllo dopo
    la trasformazione XSLT (passo n.ro 4), il controllo con is_resource diventa falso.

    Ora, vorrei capire se l'allocazione di un processore xslt può interferire in qualche modo con
    il recordset della query... sto letteralmente impazzendo e nn capisco dove sia il problema.
    Il codice è troppo lungo da postare ed è tutto fatto con le classi...

    Vi viene in mente qualcosa???
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  2. #2
    La prima che mi viene in mente.... utilizzi lo stesso nome variabile in diversi ambiti.

    Prova a mettere la segnalazione di errore a mysql_query. mysql_error(). Sicuramente ti visualizzera' qualcosa di significativo.


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

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    no, nella trasformazione XSLT non uso nemmeno di striscio quella variabile. Inoltre sono istruzioni di classi diverse, per cui non dovrebbero mai interferire tra loro.

    La cosa strana sta nel fatto che se non ci fosse la trasformazione tutto funzionerebbe, sebbene non usi il recordset lì dentro... cioè dà un errore "a posteriori".

    Per completezza: uso XAMPP 1.4.13 e 1.4.14
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    RISOLTO!!

    deve essere un baco. In pratica la query (che viene generata a partire da un XML) alla prima esecuzione codifica gli spazi bianchi con il carattere ascii 32. Alle seconda esecuzione invece codifica gli spazi bianchi con il carattere ascii 160!
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.