1

基本上是在进行测试以了解如何在 php/mysql 之间上传/显示图像。

问题是在我上传图像后,在数据库中,BLOB 列只是显示“im”而不是“image/jpeg”。将数据作为“im”插入可能是什么问题?

非常感谢

这是代码

$aname = $_POST['aname'];
$adetails = $_POST['adetails'];
$aphoto = addslashes(file_get_contents($_FILES['aphoto']['tmp_name']));
$image = getimagesize($_FILES['aphoto']['tmp_name']); //to know about image type etc.
$aphototype = $image['mime'];


$q = "INSERT INTO animaldata VALUES('','$aname','$adetails','$aphoto','$aphototype')";
4

1 回答 1

1

我最好的猜测是你最后插入的列应该是一个 varchar,或者不够长(例如,最多只允许 2 个字符),或者类似的东西。还要检查您的表结构!

请注意,在不指定哪些列的情况下插入动物数据,您也会产生一些歧义。我建议命名列,并可能为您的第一列设置默认值...

INSERT INTO animaldata
    (Name, Details, Photo, PhotoType)
    Values('$aname', '$adetails', '$aphoto', '$aphototype');

也查看准备好的陈述......让你的陈述更安全一点;)

于 2012-07-20T13:48:21.030 回答