我正在尝试编写一个函数来处理 mySQL / PHP 中的图像,但无法弄清楚如何存储结果。我已经包含了一个精简版本的代码来演示这个问题。
image.image_o 中的 blob 均已正确存储,可用于将图像输出到网页。该函数运行没有错误,但之后 image.image_r 中的 blob 只有几个字节长,并且包含诸如“Resource id #5”之类的文本
我确信我在做一些愚蠢的事情——只是看不到它是什么。
function process_images(){
global $mysql
$sql = "select id, image_o from image";
$res = mysqli_query($mysqli, $sql);
if ($res){
while ($ay = mysqli_fetch_array($res, MYSQLI_ASSOC)){
$id = $ay['id'];
$im = imagecreatefromstring($ay['image_o']);
// do something useful with the image
$sql2 = "update image set image_r = '{$im}' where id = $id";
$res2 = mysqli_query($mysqli, $sql2);
if ($res2){
// blah blah
}else{
echo mysqli_error($mysqli)." in res2";
}
}
}else{
echo mysqli_error($mysqli)." in res";
}
}