【问题标题】:Update image with PHP PDO使用 PHP PDO 更新图像
【发布时间】: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 }

标签: php mysql pdo


【解决方案1】:

不是这个

$stmt->bindparam(":imagen",$imagen, PDO::PARAM_STR);

使用

$stmt->bindparam(":imagen",$imagen, PDO::PARAM_BLOB);

然后,它会正常工作。

【讨论】:

  • 请在您的回答中提供更多详细信息。正如目前所写,很难理解您的解决方案
  • 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。
  • 我认为你误解了 OP 的代码 sn-p 因为 $imagen 变量只包含文件名而不是整个文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多