ok ok...questo script è un disastro...

comunque ho provato a metter mano ad alcune cose:

Vuoi caricare file da 64MB ma php ha massimo 64MB a disposizione.
In realtà il file che sto caricando (ma è solo per fare delle prove) è di 32,6Mb (34235626 byte per essere pignoli) e comunque portando tutte le quote (memory_limit, post_max_size, upload_max_filesize e max_allowed_packet) a 128Mb non miglioro la situazione.

Così eviti di istanziare due variabili praticamente identiche che ti occupano memoria per niente.
Giustissimo...in effetti perché sprecare memoria in questo modo??? Ora utilizzo solamente la variabile $content, ma nonostante ciò nulla cambia.

[...]ti consiglio vivamente di usare mysql_real_escape_string[...]
Ok, fatto, ma ancora niente. A riguardo però vorrei chiedere un paio di cose:
mysql_real_escape_string prende due parametri, la stringa su cui operare e la connessione al database. È giusto usarla così:
Codice PHP:
$db mysql_connect($host$user$pwd);
$content mysql_real_escape_string($content$db); 
Ho visto sul manuale di php che il secondo argomento è opzionale. Che differenza c'è? Comunque in entrambi i casi ancora non riesco a farlo andare,

Con

$content = " bla bla bla data='".mysql_real_escape_string($content,$dbresou rce)."' bla bla;";

vai tranquillo.
Ora la variabile $content subisce le seguenti trasformazioni (dal 1° all'ultimo utilizzo che ne faccio):
Codice PHP:
$content fread($hdlfilesize($tmpName));
$content mysql_real_escape_string($content$db);
$content "INSERT INTO download (nome, file, descr) VALUES ('$fileName', '$content', '$descr')";
mysql_query($content); 
Non so se ancora sbaglio qualcosa, perché ancora non funziona...

Ho notato però che il problema è l'esecuzione di mysql_query perche se metto così:
Codice PHP:
if (mysql_query($content)) {
    echo 
"GOOD!!!";
} else {
    echo 
"BAD!!!";

Mi scrive BAD!!! come previsto. Però non riesco proprio a capire qual'è il problema...
A questo punto non so se risiede nella formulazione della query (con i relativi problemi di escape e dimensioni) o se c'è qualche altra impostazione che mi limita la dimensione dei dati. Il campo è di tipo LONGBLOB che secondo il manuale mysql può contenere fino a 4 GiB (ben lontano dai 32Mb).

Ho anche il sospetto di essere in crisi per una scemenza, ma non so come uscirne...ragazzi scusatemi per il casino che sto tirando in ballo e abbiate pietà di me!!!