画像コンテンツをエスケープする必要があります。
これを実現するには、さまざまな方法があります。
1)使用しているPHPのバージョンがPHP 5.5よりもマイナーな場合は、「mysql_real_escape_string」関数を使用できます。
$query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . mysql_real_escape_string($imagedata) ."');";
2)「base64_encode」関数を使用して画像コンテンツをエンコードします。コンテンツをbase64にエンコードするとファイルサイズが大きくなりますが、非常に安全に使用できます。
$query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . base64_encode($imagedata) ."');";
ファイルを読み取ったりダウンロードしたりする場合は、「base64_decode」関数を使用してコンテンツをデコードすることを忘れないでください。
3)「addslashes」関数を使用して二重引用符と一重引用符をエスケープします
$query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . addslashes($imagedata) ."');";
「stripslashes」機能を使用して画像を読み取ったりダウンロードしたりするときは、必ずスラッシュを削除してください。