if(isset($_POST['submit']) and isset($_GET['slider_id']))
{
$date=date('Y-m-j');
$imgName=$_FILES['image']['name'];
$cont=file_get_contents($imgName);
$cont=addslashes($cont);
if($imgName=="")
{
//$imgData =addslashes(file_get_contents($_FILES['image']['name']));
$res=mysqli_query($connect,'UPDATE `slider_images` SET `image`=\''.$cont.'\' WHERE id=\''.$_GET['slider_id'].'\'');
if($res)
{
echo "Updated";
}
else
{
echo "Not Updated";
}
}
}
不理解这背后的真正问题,我引用了许多解决方案,但没有成功。我发现所有解决方案都告诉将图像存储在文件夹中并将文件名存储在数据库表中。将图像存储在数据库中的原因是,只需要存储 4 张图像,那么为什么不将它们存储在数据库中呢?请指导我解决这个问题。接下来就是我要说的问题了。 Warning Message 提前致谢。
最佳答案
$_FILES['file']['name']
是从用户计算机上传的文件的原始名称。$_FILES['file']['tmp_name']
将包含服务器上文件的临时文件名。在您处理文件之前,这只是一个临时占位符。
所以你应该像这样访问该文件:
$cont=file_get_contents($_FILES['image']['tmp_name']);
<小时/>
旁注:使用mysqli_affected_rows()
代替if($res){ ... }
来获取受此影响的行数UPDATE
查询,如下所示:
mysqli_query($connect,"UPDATE `slider_images` SET `image`='".$cont."' WHERE id='".$_GET['slider_id']."'");
if(mysqli_affected_rows($connect)){
echo "Updated";
}else{
echo "Not Updated";
}
引用资料如下:
关于php - 如何使用php更新mysql中的longblob图像字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34961229/