• User Newbie

    Grave problema con mysql_fetch_row()

    Ciao a tutti.
    Sono relativamente nuovo alla programmazione web, e sto sviluppando un applicativo per la gestione di una segreteria del personale.
    Il problema è che ho una pagina che funziona una volta si e una no :bho:
    Questo è il codice nevralgico:

    ...
    //stabilisco la connessione
    $conn = mysql_connect($dbHost, $dbUsr, $dbPwd)
            or die("Connessione al DB non riuscita: " . mysql_error());
    //seleziono il DB    
    mysql_select_db($dbName);
    
    $queryMat="SELECT MATRICOLA FROM DIPENDENTI d where (d.COGNOMENOME = '$Dipendente')";
        //composizione della query
        $sth=mysql_query($queryMat,$conn) or die('Errore, query di selezione fallita'.mysql_error());
        //controllo le estrazioni della matricola...
        $numrighe=mysql_num_rows($sth); 
        //...e verifico che sia univoca.
        if ($numrighe==1) 
            { //begin1
            //estraggo il valore della riga
            $Riga=mysql_fetch_row($sth);
            //e lo attribuisco alla var Matricola
            $Matricola=$Riga[0];
            }//end1
            //controllo per i duplicati di matricola :(
            else echo ('Troppe matricole!');
    
    //Controllo se ricerca semplice o avanzata
    if ($_SESSION["Mandante"]=='Ricerca Semplice')
    {//begin ricerca semplice
        if ($_POST["chkOrdGiust"]=='SI')
        {//ordina per giustificativi
        $queryAssenze="SELECT DATAASS,CAUSALE,SEGIUSTIFICATO FROM AGENDA where Matricola ='$Matricola'             order by SEGIUSTIFICATO desc";
        }
        else
         {
        $queryAssenze="SELECT DATAASS,CAUSALE,SEGIUSTIFICATO FROM AGENDA where Matricola ='$Matricola' order by DATAASS";
        }
        //composizione della query
        $sthAss=mysql_query($queryAssenze,$conn) or die('Errore, query di selezione fallita '.mysql_error    ());
    
    ...
    
     
                 $Verde ='<img src="images/verde.gif">';
                 $Rosso ='<img src="images/rosso.gif">'; 
                 $a=0;
                 
                                                
                    while ($rigaAssenza = mysql_fetch_row($sthAss))
                                { $FData=FormattaDataIT($rigaAssenza[0]);
                                    if (($a%2)==0)
                                    {echo '<tr class="RigheTabPari">';    }//stile per righe pari
                                    else
                                    {echo '<tr class="RigheTabDisPari">';}//stile per righe dispari
                                    
                                  echo ('<td><div align="center"><strong>'.$FData.'</strong></div></td>');
                                echo ('<td><div align="center"><strong>'.$rigaAssenza[1].'</strong></div></td>');
                                if (($rigaAssenza[2])=='SI')
                                    {echo ('<td><div align="center"><strong>'.$Verde.'</strong></div></td>');}//stile per righe pari
                                    else
                                    {echo ('<td><div align="center"><strong>'.$Rosso.'</strong></div></td>');}//stile per righe dispari
                                echo '</tr>';
                                $a+=1;                        
                                }
                        //mysql_free_result($sthAss);
                        mysql_close($conn);
                        ?> 
    
    

    Sto impazzendo :arrabbiato:
    Se non funzionasse sarebbe gìà qualcosa, ma funziona a turni alterni.
    Vi prego, AIUTATEMI a capire qual'è la causa della tragedia.


  • User Attivo

    ciao delphimaster e benvenuto!
    puoi spiegarci che messaggio d'errore ti viene mostrato ? (o al limite che errore ti trovi?)


  • User Newbie

    Ho già risolto il problema, l'errore stava nella chiusura di una } prima dell'esecuzione della query, che quindi risultava nulla 🙂

    Il punto dolente era:

    
    if ($_SESSION["Mandante"]=='Ricerca Semplice')...
    
    

    Chiaramente se la var è valorizzata tutto ok, altrimenti la query risultava vuota.

    Grazie lo stesso per il puntuale interessamento (ora non ricordo l'errore, ma è quello che php restituisce in caso di utilizzo di var contenenti query nulle) e ciao a tutti