Un campo di tipo BLOB è adatto a contenere dei dati binari. Questo tipo può però contenere un massimo di 65536 bytes di dati. Quindi è molto facile che il problema sia nella dimensione dell'immagine che provi ad inserire nel campo.
Potresti usare come tipo un MEDIUMBLOB che può arrivare fino a 16MB (e credo che per una foto bastino).
Altrimenti invece di salvare l'immagine nella tabella, potresti fare l'upload dell'immagine su di un file e nella tabella inserire solo un riferimento al path del file uploadato sul server.
In questo modo eviti anche un appesantimento di MySQL, non potendo sfuttare la RAM per operare su tabelle che hanno campi TEXT o BLOB.