ブロブを他の値と一緒に mysql データベースに挿入しようとしていますが、他の値はうまくいき、エラーはありません。最大許容パケット サイズは 10 MB に設定され、写真データは 0.5 MB です。
写真をバイナリに変換するコードは次のとおりです。
- (NSData *)dataFromImage:(UIImage *)image{
NSData *imageData = UIImagePNGRepresentation(image);
return imageData;
}
次に、php スクリプトにポストされます。
$db = new mysqli(localhost, $database, $pass, $table);
if ($query = $db->prepare("INSERT INTO JobData (someotherdata, photo) values (? ,?)")) {
$query->bind_param("sb",
$_POST["someotherdata"],
$_POST["photo"]);
$query->execute();
他のデータはデータベースに表示されますが、写真フィールドには 0 バイトが表示されます。mysqli_error はエラーを生成しません。
NSData ログ:
4f1eba47 4f37e5f1 d3475bf6 d9fef291 7b1cc893 af9e38c9 d3674fdd 13e4e9b3...etc
多分私はデータをバイナリに正しく変換していませんか? 私はウェブ上でこれについて多くを見つけることができません.私が見つけたもののほとんどはsqliteに関係しているので、どんな助けも大歓迎です.
また、bind_param 呼び出しの前にすべてのデータが設定されているかどうかも確認します。