Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将图像上载/检索到mysql数据库_Php_Mysql_Error Handling_Blob - Fatal编程技术网

Php 将图像上载/检索到mysql数据库

Php 将图像上载/检索到mysql数据库,php,mysql,error-handling,blob,Php,Mysql,Error Handling,Blob,有人能帮我吗?我试图将图像作为LONGBLOB上传到数据库,但当我检查数据库时,上传的图像只有12b而不是148KiB,因此无法显示 我想将图像上传到一个文件中,并将图像路径存储在数据库中,但我不知道怎么做,因为我想在一个表上显示与组件信息/详细信息相关的图像 <?php include "conn.php"; if(isset($_POST['submit'])) { $comp_id=$_POST['comp_id']; $compname=$_POST['compnam

有人能帮我吗?我试图将图像作为
LONGBLOB
上传到数据库,但当我检查数据库时,上传的图像只有12b而不是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>";

}

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

作为对您最初问题的另一种选择(我认为是更好的答案),我认为,根据您对应用程序的尝试,存储图像可能不是最好的主意。当您使用本地文件系统操作文件时,调用的开销要低得多


对于您正在尝试做的事情,有一些用例(例如,如果您需要事务完整性,或者您一直在使用Welcome to StackOverflow。您有任何代码可以与我们共享吗?这不是问题的答案,但我建议您不要将图像本身存储在数据库中,为什么不将文件保存在文件系统中,只引用它们在数据库中的位置。@JonStirling有什么特别的原因吗?请注意:David Wyly在下面的评论中链接到的页面外的一个链接表明,大于1M的对象最好存储在文件系统中。您最好告诉我们正在使用的操作系统(和年龄),因为这会限制所需的讨论量。不同的操作系统以不同的方式处理文件(例如,在基于UNIX的操作系统上,一切都是文件)和不同的文件系统(如NTFS、ext3、ext4)可以以不同的方式处理文件。我删除了我的“因子100”声明,因为我无法真正证实它。我相信我在某个地方读过它,但我一定是弄错了。尽管如此,你提供的链接至少广泛支持了你的主张。下面是一篇关于在使用Microsoft SQL server的数据库与文件服务器:虽然如果op的映像始终低于250k,那么DB实际上可能是一个更好的选择(至少在性能方面)。我不确定不同文件系统之间的关系(在研究文章案例中为NTFS)以及各种版本的SQL。此外,这篇文章主要关注的是碎片。我也想了解更多关于内存使用的信息。我想了解更多关于这个问题的硬数据。