ci sono due errori:
1) Prendendo il dizionario di inglese "Query was empty" la query è vuota... ERGO
La variabile che contiene la query è $update ma alla funzione mysql_query() passi come variabile una inesistente $query che logicamente è EMPTY vuota (o meglio inesistente)

2) La query di update non può funzionare... la condizione deve essere formulata su un campo univoco, generalmente l'id (generalmente un campo INT, auto_increment, NOT NULL)

quindi
Codice PHP:
<?php //modifica 
if (isset($_POST['modifica']) && isset($_POST['id'])) { 
   
// verifichiamo che l'id inviato sia valido
   
$id_valid intval($_POST['id']);
    if(
$id_valid=== 0)
      {
      exit(
'Id inviato è vuoto o non valido');
      }
    include_once 
'config.php'
    
$link mysql_connect($host$user$password) or die("Non è possibile connettersi al server
"
); 
    
$conn mysql_select_db($db$link) or die("Non è possibile connettersi al db
"
); 
    
$title2 mysql_real_escape_string($_POST[$riga[1]]); 
    
$testo2 mysql_real_escape_string($_POST[$riga[3]]); 
    
$update "UPDATE articoli2 SET title='$title2', testo='$testo2', date_mod=sysdate() WHERE id='".$id_valid."' LIMIT 1"
    
mysql_query($update) or die(mysql_error()); 
// per fare il redirect
// decommenta il seguente codice
/*
   // verifichiamo che è stato modificato 1 record e in tal caso redirect
   if(mysql_affected_row()===1)
      {
      header('Location: index.php');
      exit();
      }
   // altrimenti messaggio di errore
   else
      {
      exit('Problemi nella procedura di modifica!');
      }
*/

?>