Newsgroup: it.comp.www.php
Titolo: repost strano comportamento db.

Visto che sono trascorsi un paio di gg riprendo il discorso in un nuovo 
thread (ma ho anche risposto su quello vecchio). Vi chiedo scusa se 
questo risultasse poco corretto.
 > Posta il codice e la struttura della tabella (lo statement SQL CREATE).
Ok questa è la parte di codice interessata:
if($_GET["userID"])
{
     //echo ("chiamato con UserID".$_GET["userID"]."<br>");
     $userID=$_GET["userID"];
     //prendiamo il numero dello userId e facciamo una bella query per 
inserire il valore dell'accesso corrente e dei punti con un update....
     $updateLastAccess="UPDATE ".$dbTable." SET lastAccess=".time().", 
points=points+1 WHERE userID=".$userID;
     //echo ($updateLastAccess);
     mysql_query($updateLastAccess)or die("Problemi nell'effettuare la 
ricerca");
     //dopo aver aggiornato i dati li visualizziamo con molto agio...
     $select="SELECT * FROM ".$dbTable." WHERE userID=".$userID;
     $data=mysql_query($select)or die("Problemi nell'effettuare la 
ricerca");
     $row=mysql_fetch_array($data);
     $firstAccess=$row["firstAccess"];
     $lastAccess=$row["lastAccess"];
     $points=$row["points"];
}
Va da se' che la pagina è chiamata passando un identificativo numerico 
come userID. La prima volta invece come potete vedere oltre a creare 
l'id utente vengono inizializzati tutti i campi dell'array e points è 
settaqto a 1.
if($_GET["newUser"])
{
     //echo ("chiamato con newUser<br>");
     //leggiamo quanti dati ci sono per incrementare lo userID...
     $readAll="SELECT * FROM ".$dbTable;
     //echo $readAll."<br>";
     $data=mysql_query($readAll)or die("Problemi nell'effettuare la 
ricerca");
     $userID=mysql_num_rows($data)+1;
     $points=1;
     $lastAccess=$firstAccess=time();
     $insert="INSERT INTO ".$dbTable." VALUES (".$userID.", 
".$firstAccess.", ".$firstAccess.", ".$points.")";
     mysql_query($insert)or die("Problemi nell'effettuare l'inserimento");
}
Questa parte funziona benissimo, l'unica cosa che non va è l'update.
Infine vi riporto la struttura della tabella così come da query sql:
CREATE TABLE `utenti` (
`userID` int( 11 ) NOT NULL default '0',
`firstAccess` int( 11 ) NOT NULL default '0',
`lastAccess` int( 11 ) NOT NULL default '0',
`points` int( 11 ) NOT NULL default '0'
) TYPE = MYISAM ;
Grazie a tutti per l'interesse...
Trini.

 scusa se questo risultasse poco corretto.
Ho fatto il seguente test:
<?php 
	$_GET["userID"] = 1;
	$dbTable='utenti';
	mysql_connect ('localhost', 'root', 'root') or die ("errore db");
	mysql_select_db('test');
	echo ("chiamato con UserID".$_GET["userID"]."<br>");
	$userID=$_GET["userID"];
	//prendiamo il numero dello userId e facciamo una bella query per
inserire il valore dell'accesso corrente e dei punti con un update....
	$updateLastAccess="UPDATE ".$dbTable." SET lastAccess=".time().",
points=points+1 WHERE userID=".$userID;
	echo ($updateLastAccess."<br>");
	mysql_query($updateLastAccess)or die("Problemi nell'effettuare la
ricerca");
	//dopo aver aggiornato i dati li visualizziamo con molto agio...
	$select="SELECT * FROM ".$dbTable." WHERE userID=".$userID;
	$data=mysql_query($select)or die("Problemi nell'effettuare la
ricerca");
	$row=mysql_fetch_array($data);
	print_r ($row);
?>
E funziona correttamente.
-- 
I'am what I'am, I do what I can


Boh.. sai che ti dico.. provo a fare una di quelle strane magie tipo 
ricreare la tabella e salvare il codice in un altro file magari con un 
altro nome (copia incolla del codice).. alle volte a bit of voodoo aiuta 
(citazione dai doc delle API di java)
Trini