Ciao a tutti, ho un dubbio per quanto riguarda la funzione UPDATE su una tabella mysql.
Ho una pagina in cui si trova uno script che mi riporta tutti i record presenti in una tabella e questi dati sono modificabili perche si trovano all'interno di campi di testo e liste di selezione.
Ecco il codice in questione:
Codice PHP:
$sql = "SELECT * FROM tabella1";
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)){
echo ' <form method="post" action="aggiorna.php" id="form">
<table>
<tr>
<td><input size="3" name="nome" value="' . $row["nome"] . '" /></td>
<td><input size="3" name="cognome" value="' . $row["cognome"] . '" /></td>
<td><input size="3" name="data" value="' . $row["data"] . '" /></td>
<td><input type="hidden" value="' . $row['id'] . '" name="id" /></td>
</tr>
<tr>
<td><input name="Inserisci" id="Inserisci" value="Inserisci" type="submit"></td> </tr>
</table> ';} ?>
quindi questo script consente di visualizzare tutti i record presenti nella tabella. Poi una volta premuto il tasto Inserisci entra in funzione questo script:
Codice PHP:
$nome = mysql_real_escape_string($_POST['nome']);
$cognome = mysql_real_escape_string($_POST['cognome']);
$data = mysql_real_escape_string($_POST['data']);
$sql = "UPDATE tabella1 SET nome='$nome', cognome='$cognome', data='$data' WHERE id='$_POST[id]'";
$res = mysql_query($sql);
if($res){
echo "Dati aggiornati";
}else{
echo "errore";
il risultato che ottengo è "Dati aggiornati" ma nella tabella non viene effettivamente aggiornato niente e i campi rimangono tutti com'erano prima della modifica. Qualcuno sa come aiutarmi?