Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Warning: mysql_fetch_array() expects parameter 1 to be resource, null given

    Ciao a tutti, ho un warning del quale non copmprendo la natura.

    Mi ritrovo in una pagina riportante questo codice php:

    Codice PHP:
    <?php

    $query 
    "SELECT * FROM nometabella ORDER BY id_libro DESC LIMIT 3";
    $row mysql_fetch_array($result);
    $result=mysql_query($query);

    while(
    $row mysql_fetch_array($result)) {
        print 
    "<img src=\"images/books/".$row['copertina_grande']."\" class=\"imgbig\">


    <span class=\"titololibro\">"
    .$row['titolo']."</span>

    <span class=\"datapubb\">"
    .$row['data_pubblicazione']."</span>

    <img class=\"icon1\" src=\"images/layout/scheda.jpg\"> Scheda del libro"
    ;
    }

    ?>
    Il while funziona, stampa correttamente quanto contenuto nella tabella, ma all'inizio della pagina viene sviluppato questo errore:

    codice:
    Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /web/htdocs/www.nomedominio.com/home/nomecartella/index.php on line 61
    Quando la linea 61 è esattamente:

    codice:
    $row = mysql_fetch_array($result);
    La stessa porzione di codice iniziale la ho ovviamente usata un fantastiliardo di volte e non mi ha mai dato un problema... Prima di adesso.

    Che cosa può essere? come posso risolvere, o nascondere il warning, considerando che... Il ciclo poi funziona?

  2. #2
    Magari se togli questa riga è meglio:

    Codice PHP:
    ...
    $row mysql_fetch_array($result); 
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Ok... Fatto e funzionante.
    Ma domanda: da che cosa può dipendere un simile errore, se ho usato lo stesso codice per un sacco e non ha mai dato quel problema?
    Può dipendere dalle impostazioni del server di hosting?

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    L'errore e' proprio quello che ti dice... si aspetta un dato di 1 tipo e tu ne passi uno di 1 altro tipo...... CONTROLLARE SEMPRE il risultato delle query prima di chiamare le funczioni di fetching.

  5. #5
    Come detto... La cosa che mi disorientava era che quel codice, hostato su un server funzionava perfettamente, mentre mi dava quell'errore su un altro server.

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    i server hanno impostazioni differente per quanto riguarda la gestione degli errori.

    Dove funzionava in realta non funzionava affatto, solamente non ti segnalava il gravissimo errore.

    Bisogna sempre controllare e sviluppare con error_reporting(E_ALL) se vuoi avere il codice piu' pulito e portabile ... poi ci sono anche altri accorgimenti ma di base su server di test dovresti sempre usare il tracciamento errori . In quello di release e' un al'atra storia. Ma su quello di test....

  7. #7
    Faccio tesoro del suggerimento e correggerò allora gli errori precedenti
    Grazie mille dei consigli!

  8. #8
    Originariamente inviato da Kristal84
    Come detto... La cosa che mi disorientava era che quel codice, hostato su un server funzionava perfettamente, mentre mi dava quell'errore su un altro server.
    Codice PHP:
    $query "SELECT * FROM nometabella ORDER BY id_libro DESC LIMIT 3";
    $row mysql_fetch_array($result);
    $result=mysql_query($query);
    ..... 
    se noti la sequenza dei comandi esegui un mysql_fetch_array prima di avere eseguito la query.

    non credo proprio che potesse funzionare su un altro server....

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

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Originariamente inviato da Kristal84
    Faccio tesoro del suggerimento e correggerò allora gli errori precedenti
    Grazie mille dei consigli!
    Abbiamo tutti sbagliato le prime volte...
    Ho fatto diquegli accrocchi all'epoca che solo a ripensarci mi viene male. Ma senza quella fase ... non si va molto oltre

    In bocca al lupone per ogni altra cosa siamo qui

  10. #10
    Originariamente inviato da piero.mac
    Codice PHP:
    $query "SELECT * FROM nometabella ORDER BY id_libro DESC LIMIT 3";
    $row mysql_fetch_array($result);
    $result=mysql_query($query);
    ..... 
    se noti la sequenza dei comandi esegui un mysql_fetch_array prima di avere eseguito la query.

    non credo proprio che potesse funzionare su un altro server....
    Garantito che funzionava...
    Probabilmente ha delle impostazioni php da far accaponare la pelle

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.