Zwiększ max_allowed_packet
rozmiar.
Wygląda na to, że nie działa przy 1 MB i zgodnie z https://dev.mysql.com/doc/refman/5.5/en/packet-too-large.html domyślny maksymalny rozmiar pakietu to 1 MB:
Ustaw wartość w my.cnf
plik, np.:
[mysqld]
max_allowed_packet=16M
W PHP
Jeśli nie masz dostępu do konfiguracji MySQL, możesz spróbować ustawić za pomocą zapytania (uwaga:nie sprawdziłem, czy to zadziała).
$db->query( 'SET @@global.max_allowed_packet = 16777216' );