Dovrai controllare il valore di configurazione di MySQL "max_allowed_packet", che potrebbe essere impostato su un valore troppo piccolo, impedendo che si verifichi INSERT (che è di per sé grande).
Esegui quanto segue da un prompt dei comandi mysql:
mysql> show variables like 'max_allowed_packet';
Assicurati che sia abbastanza grande. Per ulteriori informazioni su questa opzione di configurazione, vedere
Ciò influisce anche su mysql_escape_string() e mysql_real_escape_string() in PHP limitando la dimensione della creazione della stringa.