- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Grave problema con mysql_fetch_row()
-
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
Se non funzionasse sarebbe gìà qualcosa, ma funziona a turni alterni.
Vi prego, AIUTATEMI a capire qual'è la causa della tragedia.
-
ciao delphimaster e benvenuto!
puoi spiegarci che messaggio d'errore ti viene mostrato ? (o al limite che errore ti trovi?)
-
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