我正在尝试将 blob 与其他值一起插入到 mysql 数据库中,其他值正常并且没有任何错误。最大允许数据包大小设置为 10mb,照片数据为 0.5mb。
这是将照片转换为二进制的代码:
- (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();
otherdata 显示在数据库中,但 0 字节显示在 photo 字段中。mysqli_error 不会产生任何错误。
NSData 日志:
4f1eba47 4f37e5f1 d3475bf6 d9fef291 7b1cc893 af9e38c9 d3674fdd 13e4e9b3...etc
也许我没有正确地将数据转换为二进制?我在网上找不到太多关于此的信息,我发现的大部分内容都与 sqlite 有关,因此非常感谢任何帮助。
我还检查是否在调用 bind_param 之前设置了所有数据