Visualizzazione dei risultati da 1 a 6 su 6

Discussione: errore assurdo

  1. #1
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538

    errore assurdo

    raga ho un problema che mi sta facendo impazzire, e la cosa + strana è che è una cosa che ho fatto un sacco di volte e ha sempre funzionato......

    praticamente io ho una funzione che deve colegarsi a un database e prelevare dalla tabella news le i primi 10 record e scriverli nella pagina
    ecco il codice che uso:

    codice:
    function show_news(){
    global $db_name; <-- includo la variabile globale che contiene il nome del database
    echo "
    
    ";
    $start = 0;
    $step = 10;
    $db = connetti($db_name); <-- con questa funzione scritta in precedenza mi colleggo al database
    $query = "SELECT * FROM news ORDER BY data DESC LIMIT $start,$step";
    $risultato = mysql_query($query,$db);
    
    while($row = mysql_fetch_array($risultato)){
     
    [qui stampa la news]
    
    }
    }
    se provo a eseguire questa funzione mi da il seguente errore:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\tempbts\funzioni.php on line 329

    la linea 329 corrisponde a :
    while($row = mysql_fetch_array($risultato)){

    sapete darmi una mano?
    ho provato a vedere altri codici scritti da me in precedenza che fanno praticamente la stessa cosa ma nn ho trovato niente di diverso !!!!
    Help Me

  2. #2
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788

    Re: errore assurdo

    Originariamente inviato da buba88
    raga ho un problema che mi sta facendo impazzire, e la cosa + strana è che è una cosa che ho fatto un sacco di volte e ha sempre funzionato......

    praticamente io ho una funzione che deve colegarsi a un database e prelevare dalla tabella news le i primi 10 record e scriverli nella pagina
    ecco il codice che uso:

    codice:
    function show_news(){
    global $db_name; <-- includo la variabile globale che contiene il nome del database
    echo "
    
    ";
    $start = 0;
    $step = 10;
    $db = connetti($db_name); <-- con questa funzione scritta in precedenza mi colleggo al database
    $query = "SELECT * FROM news ORDER BY data DESC LIMIT $start,$step";
    $risultato = mysql_query($query,$db);
    
    while($row = mysql_fetch_array($risultato)){
     
    [qui stampa la news]
    
    }
    }
    se provo a eseguire questa funzione mi da il seguente errore:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\tempbts\funzioni.php on line 329

    la linea 329 corrisponde a :
    while($row = mysql_fetch_array($risultato)){

    sapete darmi una mano?
    ho provato a vedere altri codici scritti da me in precedenza che fanno praticamente la stessa cosa ma nn ho trovato niente di diverso !!!!
    Help Me
    prova a mettere:
    codice:
    while($row = mysql_fetch_array($risultato) or die(mysql_error())){
    E vedi che ti dice
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  3. #3
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    L'errore non e' assurdo. La query fallisce per motivi da chiarire, e tu provi ad accedere a $risultato che non e' un resource identifier valido, siccome mysql_query() e' fallita.

  4. #4
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    x ray: l avevo capito che la query fallisce, ma nn riesco a capire xchè!!!

    cmq ho fatto come ha suggerito inoki e mi dice :
    You have an error in your SQL syntax near 'ORDER BY data DESC LIMIT 0,10' at line 1

    a me la sintassi sembra corretta.
    voi cosa ne pensate ?

    vi riscrivo la query:
    "SELECT * FROM $news_table ORDER BY data DESC LIMIT $start,$step"

    le variabile valgono:
    $news_table = "news";
    $start = 0;
    $step = 10;

  5. #5
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    Fai una print($query) prima di lanciarla e vedi un po' cosa c'e' che non va..

  6. #6
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    raga ho risolto l errore era decisamente stupido praticamente la variabile $news_table era una variabile dichiarata al di fuori della funzione e io avevo dimenticato di fare "global $news_table";

    sn questi gli errori che ti fanno peredere davvero un sacco di tempo

    grazie cmq a tutti e due !!!!

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.