Devi sfuggire al contenuto dell'immagine.
Ci sono diversi modi per ottenerlo:
1) Se la versione PHP che stai usando è minore di PHP 5.5 puoi usare la funzione "mysql_real_escape_string".
$query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . mysql_real_escape_string($imagedata) ."');";
2) Codifica il contenuto dell'immagine usando la funzione "base64_encode", la codifica del contenuto in base64 aumenterà le dimensioni del file, ma è molto sicuro da usare.
$query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . base64_encode($imagedata) ."');";
Ricordati di decodificare il contenuto con la funzione "base64_decode" quando vuoi leggere o scaricare il file.
3) Esci dalle virgolette doppie e singole usando la funzione "aggiunge barre"
$query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . addslashes($imagedata) ."');";
Ricordati di rimuovere le barre quando l'immagine viene letta o scaricata con la funzione "stripslashes".