【发布时间】:2018-05-07 17:52:29
【问题描述】:
我的问题是,如果我尝试将图像发布到我的网站到我的名为照片的数据库中,它们不会出现在那里。图像确实出现在我创建的上传/img 文件夹中。我的数据库照片表称为 2 行的图像。 id int(11) 和图像 MEDIUMBLOB。任何想法为什么我的图像没有出现在我的 MYSQL 数据库中?
<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
<title>Image Upload</title>
</head>
<body>
<?php if(isset($_SESSION['err'])){ ?>
<h2><?php echo $_SESSION['err']; ?></h2>
<?php session_unset(); } ?>
<form method="post" action="upload.php" enctype="multipart/form-data" >
<input type="file" name="image" />
<input type="submit" value="Submit" name="save">
</form>
</body>
</html>
我的上传.php
<?php
require_once('config.php');
session_start();
if(isset($_POST['save']))
{
$target_dir = "upload/img/";
$filename = explode('.',$_FILES['image']['name']);
$ext = $filename[1];
$imgname = time().'.'.$ext;
$target_file = $target_dir . $imgname ;
if (move_uploaded_file($_FILES["image"]["tmp_name"], $target_file)) {
$path=$imgname;
$conn->query("INSERT INTO images (id, image)VALUES ('$path')");
$_SESSION["Success"]='Image Is Upload Success...';
header("Location:view.php"); /* Redirect browser */
exit();
} else {
$_SESSION["err"]=$text;
header("Location:index.php"); /* Redirect browser */
exit();
}
}
}
?>
这是我的“图像”表的图片。
【问题讨论】:
-
您没有在 INSERT 语句中提供 ID,可能与它有关。尝试从 mysql 输出错误。
-
取决于 ID 是什么值。如果它只是一个 AUTO INCREMENT 值,我认为他根本不需要指定它。如果它是某种类型的字符串标识符,那么你需要传入一个他没有做的值。
-
我从表中删除了 id 行,然后我可以上传图片,但这不是我正在寻找的确切解决方案,因为它在上传图片后给了我一个错误。
标签: php html mysql database image