Salve ragazzi,

il seguente codice
Codice PHP:
<?php 

include '../../config.php';

//Recupero il valore del parametro "id" 
$id $_GET['id'];

if(
$_POST && isset($_GET['id']))
{
    
aggiorna_record();
    }

// esecuzione prima query 
$query "SELECT titolo,descrizione FROM images WHERE id = $id"
$res mysql_query($query) or die (mysql_error()); 

  
// ciclo tutti i record recuperati attraverso la nostra query 
  
while ($f=mysql_fetch_array($res)){ 
    
$titolo      stripslashes($f['titolo']); 
    
$descrizione stripslashes($f['descrizione']); 
    }

function 
aggiorna_record()
{
    
// recupero i campi di tipo "stringa"
    
$titolo      trim($_POST['titolo']);
    
$descrizione trim($_POST['descrizione']);

    
// verifico se devo eliminare gli slash inseriti automaticamente da PHP
    
if(get_magic_quotes_gpc())
    {
        
$titolo      stripslashes($titolo);
        
$descrizione stripslashes($descrizione);
    }
    
    
// effettuo l'escape dei caratteri speciali per inserirli all'interno della query
    
$titolo      mysql_real_escape_string($titolo);
    
$descrizione mysql_real_escape_string($descrizione);

    
$titolo      htmlentities($titolo);
    
$descrizione htmlentities($descrizione);

    
$id intval($_GET['id']);

    
// verifico la presenza dei campi obbligatori
    
if(!$titolo)
    {
    echo 
'Non hai inserito il Titolo!

[url="javascript:history.back()"]Torna indietro[/url]'
;
    exit;
    }

    if(!
$descrizione)
    {
    echo 
'Non hai inserito la Descrizione!

[url="javascript:history.back()"]Torna indietro[/url]'
;
    exit;
    }

    
// preparo la query
    
$query "UPDATE images SET titolo='$titolo',descrizione='$descrizione' WHERE id = $id";

    
// invio la query
    
$result mysql_query($query);

    
// controllo l'esito
    
if (!$result) {
        die(
"Errore nella query $query: " mysql_error());
    }

    
// chiudo la connessione a MySQL
    
mysql_close();

    echo 
'Modifica effettuata con successo!';

}

?>

<form method="post" action="">
Titolo:

<input name="titolo" type="text" value="<?php echo $titolo?>" size="20">

Descrizione:

<textarea name="descrizione" cols="20" rows="4"><?php echo $descrizione?></textarea>

<input type="submit" name="Submit" value="Submit">



</form>
funziona perfettamente ma vorrei sapere perché quando modifico un record mi appare il messaggio
codice:
Modifica effettuata con successo!No database selected
quel "No database selected" da dove/perchè esce visto che la modifica viene registrata nel DB?

Altra cosuccia, quardando questa parte di funzione
Codice PHP:
function aggiorna_record()
{
    
// recupero i campi di tipo "stringa"
    
$titolo      trim($_POST['titolo']);
    
$descrizione trim($_POST['descrizione']);

    
// verifico se devo eliminare gli slash inseriti automaticamente da PHP
    
if(get_magic_quotes_gpc())
    {
        
$titolo      stripslashes($titolo);
        
$descrizione stripslashes($descrizione);
    }
    
    
// effettuo l'escape dei caratteri speciali per inserirli all'interno della query
    
$titolo      mysql_real_escape_string($titolo);
    
$descrizione mysql_real_escape_string($descrizione);

    
$titolo      htmlentities($titolo);
    
$descrizione htmlentities($descrizione); 
è giusto mettere trim, stripslashes, mysql_real_escape_string e htmlentities per ovviare ai soliti problemi di riconoscimento/scrittura di caratteri strani come " e cose varie oppure esiste una sintassi migliore per queste situazioni?

Se c'è qualche errore di sintassi/impostazione per migliorare il codice, sono gradite segnalazioni, il funzionamento pratico c'è, a parte queste cose che ho segnalato poco sopra.