【发布时间】:2015-10-19 01:45:32
【问题描述】:
社区的朋友您好,我正在将图像上传到 MySQL 数据库,我没有问题,一切正常。 但是当我更新图像时,你可以在这张照片中看到:
这是我用来更新记录的代码:
public function update($id,$fname,$lname,$email,$contact,$imagen,$fecha)
{
try
{
if(!empty($_FILES['imagen']['name'])){
$nnombre=$_FILES['imagen']['name'];
$ruta=$_FILES['imagen']['tmp_name'];
$destino = "img/productos/".$nnombre;
$imagen = $nnombre;
copy($ruta, $destino);
}
$stmt=$this->db->prepare("UPDATE productos SET first_name=:fname,
last_name=:lname,
email_id=:email,
contact_no=:contact,
imagen=:imagen,
fecha=:fecha
WHERE id=:id");
$stmt->bindparam(":fname",$fname);
$stmt->bindparam(":lname",$lname);
$stmt->bindparam(":email",$email);
$stmt->bindparam(":contact",$contact);
$stmt->bindparam(":imagen",$imagen, PDO::PARAM_STR);
$stmt->bindparam(":fecha",$fecha);
$stmt->bindparam(":id",$id);
$stmt->execute();
return true;
}
catch(PDOException $e)
{
echo $e->getMessage();
return false;
}
}
全部更新了,但是图片没有更新。
我应该这样做,拜托。
【问题讨论】:
-
只有在上传了实际图片时才更新您的图片。当没有图像时,您不应将其包含在您的
prepare statement中,并将其删除到您的bindParam -
好的,解决我的问题 :) if!empty{ 我在我的代码中放入了变量 image } else{ 在我的代码中没有放入变量 image }