上传/检索图像到mysql数据库

时间:2015-05-18 23:00:53

标签: php mysql error-handling blob

任何人都可以帮助我吗?我正在尝试将图像作为LONGBLOB上传到数据库但是当我检查数据库时,上传的图像只有12 B而不是148KiB,因此无法显示!!

我想将图像上传到文件上并将图像路径存储在数据库中,但我不知道该怎么做,因为我想在表格上显示与组件信息/细节相对应的图像。

<?php

include "conn.php";

if(isset($_POST['submit'])) {

  $comp_id=$_POST['comp_id'];
  $compname=$_POST['compname'];
  $image=$_POST['image'];
  $description=$_POST['description'];
  $category=$_POST['category'];
  $subcat=$_POST['subcat'];
  $tech_id=$_POST['tech_id'];


  $query = mysql_query("INSERT INTO `resourcesys`.`ecomp_t`
    (`comp_id`,`compname`,`image`,`description`,`category`,`subcat`,`tech_id`)
    VALUES ('$comp_id','$compname','$image','$description','$category','$subcat','$tech_id')")
    or die(mysql_error());

  echo "<script>alert('Your component has been added successfully !!');</script>";

}

1 个答案:

答案 0 :(得分:1)

如果没有发布任何代码,很难调试您的特定用例。

作为替代(并且,在我看来,更好)回答您的原始问题,我认为,根据您尝试对您的应用程序执行的操作,存储图像可能不是最好的主意。使用本地文件系统操作文件时调用的开销要低得多。

您尝试做的事情有一些用例(例如,如果您需要事务完整性,或者您一直使用&lt; 250kB图像文件)。无论哪种方式都有严重的利弊。

以下是关于辩论的一些好文章:

Storing Images in DB - Yea or Nay?

Is it a bad practice to store large files (10 MB) in a database?

相反,我会使用更传统的方法,例如使用表单来收集用户输入,验证安全性,以及将文件发布到服务器。

Link to the PHP documentation

Link to a step-by-step walkthrough