将图像上载到SQL数据库中,然后从数据库中检索并显示它


Upload Image into SQL database and then retrieve it from the database and display it

我目前正面临一个问题。我不知道如何上传图片到mysql数据库。然后在那之后,我需要从数据库中检索并显示它

这实际上是因为我需要创建一个在线目录,其中包括一个添加到购物车按钮。但对于在线目录中显示的图像,我不能使用硬编码。每当我在管理页面上有新产品时,我希望能够经常更新在线目录。

我只能对文本而不是图像执行此操作。

if (isset($_POST['submit'])){
    $name = $_POST['name'];
    $add = mysql_query("INSERT INTO maritime_products(name) VALUES('$name')") or die("gg2");
    }
$showname = mysql_query("SELECT * FROM maritime_products");
while($anything = mysql_fetch_array($showname)){
    echo $anything['name'];
}

不需要将图像存储在数据库中。请将映像的路径存储在数据库中,并将映像本身存储在文件系统中。非常感谢。

正如Serge Velikanov已经说过的,NO GO,将您的图像存储在您的网站所在的服务器上,只将图片的URL保存到数据库中。原因:如果您更改了图像的大小,只需再次上传到FTP即可,无需再次将其保存到数据库中。但是,如果您仍然计划这样做,您可以查看BLOBOLE对象。

Pro和Cons你可以在这里找到(不是我写的):

我的经验是,将大型图像或其他二进制对象上传到SQL Server的性能不是很好,也不完全可靠。SQL Server团队在过去几年里做了一些改进(varbinary(max)等),但他们在性能上没有太大的改进。如果你要这样做,我建议你分块,而不是一次上传整个图像。此外,SQL Server 2008还提供了一个可以运行的新选项(服务),该选项允许引擎将Blob数据流式传输到文件系统。我还没有实现这个服务,但我相信它可以与卷影复制服务协同工作,并将文件流式传输到文件系统。我不清楚备份是如何工作的,但由于指针会存储在表中,因此引擎很有可能知道要将文件与表中的其他数据一起备份。请在MSDN或SQL Server网站上查看。

又是复制品吗?

https://stackoverflow.com/questions/805519/save-image-in-database

将图像存储在数据库或系统文件中?