简体   繁体   English

图片已上传至数据库,但未显示在php页面中?

[英]Image uploaded in database but not display on page in php?

I have code for image upload and view in php and MySQL. 我有图像上传代码,并在php和MySQL中查看。 After click on "Submit" button in "imageUpload.php" page image is stored in database. 单击“ imageUpload.php”页面中的“提交”按钮后,图像存储在数据库中。 but not displaying in "listImages.php" page. 但不会显示在“ listImages.php”页面中。 I don't know what's the problem. 我不知道出什么问题了。 I see " image not displaying when uploading in php " but its seems different solution for me. 我看到“ 在php中上传时图像未显示 ”,但对我来说似乎是不同的解决方案。 here is my code please have a look where i am wrong. 这是我的代码,请看看我错了。

imageUpload.php : imageUpload.php:

<?php

 /* CREATE TABLE IF NOT EXISTS `output_images` 
  (
  `imageId` tinyint(3) NOT NULL AUTO_INCREMENT,
  `imageType` varchar(25) NOT NULL DEFAULT '',
  `imageData` mediumblob NOT NULL,
   PRIMARY KEY (`imageId`)
   ) */    

if(count($_FILES) > 0) {
if(is_uploaded_file($_FILES['userImage']['tmp_name'])) {
mysqli_connect("localhost", "root", "");
mysqli_select_db ("test");
$imgData =addslashes(file_get_contents($_FILES['userImage']['tmp_name']));
$imageProperties = getimageSize($_FILES['userImage']['tmp_name']);

$sql = "INSERT INTO output_images(imageType ,imageData)
VALUES('{$imageProperties['mime']}', '{$imgData}')";
$current_id = mysqli_query($sql) or die("<b>Error:</b> Problem on Image Insert<br/>" . mysqli_error());
if(isset($current_id)) {
    header("Location: listImages.php");
}
}
}
?>
<HTML>
<HEAD>
<TITLE>Upload Image to MySQL BLOB</TITLE>
<link href="imageStyles.css" rel="stylesheet" type="text/css" />
</HEAD>
<BODY>
<form name="frmImage" enctype="multipart/form-data" action="" method="post" class="frmImageUpload">
<label>Upload Image File:</label><br/>
<input name="userImage" type="file" class="inputFile" />
<input type="submit" value="Submit" class="btnSubmit" />
</form>
</div>
</BODY>
</HTML>

listImages.php : listImages.php:

<?php
$conn = mysqli_connect("localhost", "root", "");
mysqli_select_db("test");
$sql = "SELECT imageId FROM output_images ORDER BY imageId DESC"; 
$result = mysqli_query($sql);
?>
<HTML>
<HEAD>
<TITLE>List BLOB Images</TITLE>
<link href="imageStyles.css" rel="stylesheet" type="text/css" />
</HEAD>
<BODY>
<?php
while($row = mysqli_fetch_array($result)) {
?>
    <img src="imageView.php?image_id=<?php echo $row["imageId"]; ?>" /><br/>
<?php       
}
  mysqli_close($conn);
?>
</BODY>
</HTML>

imageView.php : imageView.php:

<?php
$conn = mysqli_connect("localhost", "root", "");
mysqli_select_db("test") or die(mysqli_error());
if(isset($_GET['image_id'])) {
    $sql = "SELECT imageType,imageData FROM output_images WHERE imageId=" . $_GET['image_id'];
    $result = mysqli_query("$sql") or die("<b>Error:</b> Problem on Retrieving Image BLOB<br/>" . mysqli_error());
    $row = mysqli_fetch_array($result);
    header("Content-type: " . $row["imageType"]);
    echo $row["imageData"];
}
mysqli_close($conn);
?>

listimage.php

this would help you 这会帮助你

<a href="imageView.php?image_id=<?php echo $row["imageId"]; ?>">
  <img src="<?php echo $row['imagedata']; ?>" alt="my picture" height="128" width="128" />
</a>

it should be 它应该是

$conn=mysqli_connect("ur_servername_ex_localhost","ur_username","ur_password","ur_db");
    mysqli_query($conn, $sql);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM