php图像更新查询,如何更新查询

时间:2016-01-29 03:57:36

标签: php mysql image

image 1

image 2

$ imgData = addslashes(file_get_contents($ _ FILES ['userfile'] ['tmp_name']));      $ sql =“INSERT INTO imgexam                         (图片,名称)                         VALUES                         ('{$ imgData}','{$ _FILES ['userfile'] ['name']}');“;

3 个答案:

答案 0 :(得分:1)

因此,要将其更新为新图像,您需要执行以下步骤:

  • 删除旧图片上传
  • new image将数据库中的行更新为
  • 新图片的名称

如何使用PHP删除旧图像:

unlink('directory/images/'.$image);

您可能需要从数据库中进行选择才能获得正确的图像名称。

如何使用PHP上传新图像: Read this page了解有关上传文件的更多信息

然后在上传新图像后,您需要更改数据库中的行。

如何更改数据库中的行

$sql = "UPDATE FROM `table` SET `imagename` = '$newimagename' WHERE `imagename` = $oldimagename";
$query = mysql_query($sql) or die(mysql_error());

这就是你需要的步骤。问你是否有问题。

答案 1 :(得分:0)

您正在寻找更新记录的SQL查询与此类似:

UPDATE imgexam SET image = ? WHERE name = ?;

如果您有重复的名称,则需要检索记录的ID并在WHERE子句中使用该ID。您可以使用PDO::lastInsertId()之类的方法或通过查询来获取ID。

您可能正在寻找的内容有时也称为UPSERT操作。这意味着我想要UPDATEINSERT。 MySQL提供了ON DUPLICATE KEY子句。我们假设ID是此表的主键。

将您的查询更改为

INSERT INTO 
    imgexam (id, image, name) 
VALUES (1, '{$imageData}', '{$_FILES['userfile']['name']}') 
ON DUPLICATE KEY UPDATE 
    image = '{$imageData}';

答案 2 :(得分:0)

更新BLOB内容的查询: mysql_escape_string()只是将字符串视为原始字节,并在其认为合适的地方添加转义。

$query = "UPDATE mytable SET blobthing = '" .mysql_escape_string($varblobthing) .
"' WHERE id=2";