Ho da poco cominciato a studiare un po' il php grazie alle guide del sito.

Il servizio hosting utilizza la versione 5.2.6-3 di php

nella progettazione delle mie pagine web mi sono arenato sulla modifica dei record.
Dopo aver modificato i dei dati da questa pagina:
http://www.scuotivento.it/edit_libro.php?id=3

un metodo post invia i dati per la modifica a questa:

file save_edit_libro.php
Codice PHP:
<?
include ("config.inc.php");
include (
"top_foot.inc.php");
include (
"menu.inc.php");

//intestazione
top();
menu();

if (
$_POST['pass'] != $password){
    echo 
"<h1>Password errata</h1>";
}else {
    
$ciclo $_REQUEST['ciclo'];
    
$genere $_REQUEST['genere'];
    
$titolo $_REQUEST['titolo'];
    
$titolooriginale $_REQUEST['titolooriginale'];
    
$autore $_REQUEST['autore'];
    
$annopubblicazione $_REQUEST['annopubblicazione'];
    
$traduttore $_REQUEST['traduttore'];
    
$annotraduzione $_REQUEST['annotraduzione'];
    
$trama $_REQUEST['trama'];
    
$notetrama $_REQUEST['notetrama'];
    
$citazione1 $_REQUEST['citazione1'];
    
$fonte1 $_REQUEST['fonte1'];
    
$citazione2 $_REQUEST['citazione2'];
    
$fonte2 $_REQUEST['fonte2'];
    
$citazione3 $_REQUEST['citazione3'];
    
$fonte3 $_REQUEST['fonte3'];
}

if (
trim($_POST[titolo]) == ""):
    echo 
"<h1>Il campo Titolo deve essere riempito!</h1>";
else :
    
$genereaddslashes(stripslashes($genere));
    
$titolo addslashes(stripslashes($titolo));
    
$titolooriginaleaddslashes(stripslashes($titolooriginale));
    
$tramaaddslashes(stripslashes($trama));
    
$notetramaaddslashes(stripslashes($notetrama));
    
$citazione1addslashes(stripslashes($citazione1));
    
$fonte1addslashes(stripslashes($fonte1));
    
$citazione2addslashes(stripslashes($citazione2));
    
$fonte2addslashes(stripslashes($fonte2));
    
$citazione3addslashes(stripslashes($citazione3));
    
$fonte3addslashes(stripslashes($fonte3));

    
//connessione al database
    
$db mysql_connect($db_host$db_user$db_password);
    if (
$db == FALSE)
        die (
"<h1>Errore nella connessione. Verificare i parametri nel file config.inc.php</h1>");

    
mysql_select_db($db_name$db)
        or die (
"<h1>Errore nella selezione del database. Verificare i parametri nel file config.inc.php</h1>");

    
$query "UPDATE libri SET ciclo='$ciclo', genere='$genere', titolo='$titolo', titolooriginale='$titolooriginale', autore='$autore', annopubblicazione='$annopubblicazione', traduttore='$traduttore', annotraduzione='$annotraduzione', trama='$trama', notetrama='$notetrama', citazione1='$citazione1', fonte1='$fonte1', citazione2='$citazione2', fonte2='$fonte2', citazione3='$citazione3', fonte3='$fonte3' WHERE id='&id'";

    if (
mysql_query($query$db))
        echo 
"<h1>L'articolo è stato modificato correttamente</h1>";
    else
        echo 
"<h1>Errore durante la modifica</h1>";


    
endif; 
// chiude la verifica della presenza dei dati
mysql_close($db);
foot();
?>
I dati non vengono modificati, ma il controllo che faccio sulla query mi dice che:
L'articolo è stato modificato correttamente
percui:
if (mysql_query($query, $db)) è vero.

Dov'è che sbaglio?

Grazie