Purtroppo gli heredoc sono molto sensibili ai caratteri, sia pure invisibili, che si trovano vicino alle etichette.

Seleziona il codice sotto, copialo e incollalo al posto del tuo. Vedrai che poi funziona.

Codice PHP:
//METTO IL CODICE HTML PER LA CREAZIONE DELLA TABELLA IN UNA HEREDOC 
$lista_campionati =<<<lista_campionati
   ELENCO DEI CAMPIONATI INSERITI
 
   <table> 
      <tr> 
         <td> NOME CAMPIONATO</td> 
         <td>INSERITO IL ALLE</td> 
      </tr>
lista_campionati;

//STAMPO IL CODICE HTML PER LE INTESTAZIONI DI TABELLA 
echo $lista_campionati
//CREO UN CICLO PER ESTRARRE IL CONTENUTO DELLA SELECT 
while ($risultato_campionato mysql_fetch_array($query_campionato)) { 
    
$elenco_campionati = <<<elenco_campionati
        <tr> 
            <td>
{$risultato_campionato['nome']}</td>
            <td>
{$risultato_campionato['data_creazione']}</td> //riga dell'errore 
        </tr> 
elenco_campionati;


echo 
$elenco_campionati."</table>"
Comunque hai un errore di logica nel ciclo while, perchè se la query ti ritorna n righe con n>1, ti verrà visualizzata solo l'ultima, dato che ad ogni esecuzione del ciclo reimposti il contenuto di $elenco_campionati. In più per n=0 ovvero se il ciclo non viene eseguito fai la echo di una variabile non inizializzata. La cosa è accettata da PHP e nel caso specifico non dovrebbe provocare danni, ma sarebbe opportuno evitarlo. Una tele circostanza ti viene segnalata se elevi l'error reporting nel php.ini, o tramite la funzione error_reporting, a strict.