mysql_fetch_assoc

chika chan

Nuovo Utente
28 Dic 2007
20
0
0
PHP:
<?php
if($_SESSION["uid"]) {
   $sql = "SELECT username FROM users WHERE in = '".$_SESSION['uid']."'";
   $sql = mysql_query ($sql) or die (mysql_error());

   if(mysql_num_rows($result) == 0 ){
      session_distroy ();
      echo "<p>Benvenuto, <b>Ospite</b>! | <a href=\"./register.php\">Registrati</a> | <a href=\"./login.php\">Login</a></p>"
} 
   else {
while ( $row = mysql_fetch_assoc($result)){
echo "<a href=\"./index.php?art=profile&id=".$rows['id']."\";>Profilo </a>".$row['username']";
    }
?>

Uffiii proprio sono in tilt
Chi mi aiuta a vedere che sbaglio ?
Se carico la pagina mi visualizza

Benvenuto, Ospite! | Registrati | Login

" } else { while ( $row = mysql_fetch_assoc($result)){ echo "Profilo ".$row['username']"; } ?>
 
Sì, in effetti sta cosa mi era sfuggita... $result è passata come parametro a mysql_num_rows e a mysql_fetch_assoc senza essere stata opportunamente inizializzata.

Tuttavia questo errore non porterebbe ad una visualizzazione del genere bensì ad un warning del tipo "is not a valid mysql resource in..."

E' anche vero, ad essere onesti, che anche la mia risposta prima è stata frettolosa.... La mancanza di un ; provocherebbe un errore di sintassi...

Mmmmh....
 
Ok sintassi messa a posto

Ok, ho trovato un paio di problemini...

Mancava un ; e svariate } di chiusura... Oltre ad esserci un " di troppo...

Il codice sintatticamente corretto è così... Poi chiaramente dipende da quello che si tira su sul db...

PHP:
<?php
if($_SESSION["uid"])
{

   $sql = "SELECT username FROM users WHERE in = '".$_SESSION['uid']."'";
   $sql = mysql_query ($sql) or die (mysql_error());

   if(mysql_num_rows($result) == 0 )
   {
      session_distroy ();
      echo "<p>Benvenuto, <b>Ospite</b>! | <a href=\"./register.php\">Registrati</a> | <a href=\"./login.php\">Login</a></p>";
   }
   else
   {
     while ( $row = mysql_fetch_assoc($result))
     {
       echo "<a href=\"./index.php?art=profile&id=".$rows['id']."\">Profilo </a>".$row['username'];
     }
   }
}
?>

Se posso permettermi un consiglio, ti direi di indentare un po' meglio il codice... Altrimenti è un attimo dimenticarsi una }...
 

Discussioni simili