在mysql中存储用户提交的数据和文件

有时,从您的网站用户收集数据并将这些信息存储在​ MySQL数据库。我们已经看到可以使用PHP填充数据库,现在我们将增加允许通过用户友好的web表单添加数据的实用性。...

01

2007年

创建表单

有时,从您的网站用户收集数据并将这些信息存储在​ MySQL数据库。我们已经看到可以使用PHP填充数据库,现在我们将增加允许通过用户友好的web表单添加数据的实用性。

我们要做的第一件事是创建一个带有表单的页面。对于我们的演示,我们将制作一个非常简单的演示:

您的姓名:电子邮件:地址:

data web button and mouse arrow on computer screen

02

2007年

插入到-从表单添加数据

接下来,您需要创建process.php,表单将数据发送到该页面。下面是一个如何收集这些数据以发布到MySQL数据库的示例:

正如您所看到的,我们要做的第一件事是为上一页的数据分配变量。然后,我们只需查询数据库以添加这些新信息。

当然,在我们尝试之前,我们需要确保表确实存在。执行此代码应创建一个可用于示例文件的表:

创建表数据(名称varchar(30)、电子邮件varchar(30)、位置varchar(30));

03

2007年

添加文件上载

现在您知道了如何在MySQL中存储用户数据,让我们进一步了解如何上传文件进行存储。首先,让我们制作示例数据库:

创建表上载(id int(4)not null auto_increment主键、description char(50)、data longblob、filename char(50)、filesize char(50)、filetype char(50));

您应该注意的第一件事是一个名为id的字段,该字段设置为AUTO_INCREMENT。此数据类型的意思是,它将累计为每个文件分配一个从1开始到9999的唯一文件ID(因为我们指定了4位数字)。您可能还会注意到,我们的数据字段称为LONGBLOB。正如我们前面提到的,BLOB有多种类型。TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB是您的选择,但我们将我们的设置为LONGBLOB以允许最大的文件。

接下来,我们将创建一个表单,允许用户上传她的文件。这只是一个简单的形式,很明显,如果你愿意,你可以把它装扮起来:

描述:要上载的文件:

一定要注意enctype,它非常重要!

04

2007年

将文件上传添加到mysql

接下来,我们需要实际创建upload.php,它将获取用户文件并将其存储在数据库中。下面是upload.php的示例编码。

File ID: $id";

文件名:$form\u data\u Name“print”

文件大小:$form\u data\u Size“print”

文件类型:$form\u data\u Type

“打印”要上载另一个文件,请单击此处”?>

在下一页中了解更多关于它实际作用的信息。

05

2007年

添加上传说明

这段代码实际做的第一件事是连接到数据库(您需要用实际的数据库信息替换它)

接下来,它使用ADDSLASHES函数。如果需要,可以在文件名中添加反斜杠,这样在查询数据库时就不会出现错误。例如,如果我们有Billy'sFile.gif,它会将其转换为Billy'sFile.gif。FOPEN打开文件,FREAD是一个二进制安全文件读取,因此如果需要,ADDSLASHES将应用于文件中的数据。

接下来,我们将表单收集的所有信息添加到数据库中。您会注意到,我们首先列出了字段,然后列出了值,这样我们就不会意外地尝试将数据插入第一个字段(自动分配ID字段)

最后,我们打印出数据供用户查看。

06

2007年

检索文件

我们已经学习了如何从MySQL数据库中检索普通数据。同样,如果没有检索文件的方法,将文件存储在MySQL数据库中也不是很实用。我们要学习的方法是根据每个文件的ID号为其分配一个URL。如果您还记得我们上载文件时,我们会自动为每个文件分配一个ID号。当我们调用这些文件时,我们将在这里使用它。将此代码另存为download.php

现在要检索文件,请将浏览器指向:http://www.yoursite.com/download.php?id=2 (用您想要下载/显示的任何文件ID替换2)

这段代码是做很多事情的基础。以此为基础,您可以添加一个数据库查询来列出文件,并将它们放在下拉菜单中供人们选择。或者,您可以将ID设置为随机创建的数字,以便在每次有人访问时随机显示数据库中的不同图形。可能性是无穷的。

07

2007年

删除文件

下面是一种从数据库中删除文件的非常简单的方法。你要小心这个!!将此代码另存为remove.php

与我们以前下载文件的代码一样,此脚本允许只需键入文件的URL即可删除文件:http://yoursite.com/remove.php?id=2 (将2替换为要删除的ID。)出于明显的原因,您需要小心使用此代码。当然,这是为了演示,当我们实际构建应用程序时,我们希望设置保护措施,询问用户是否确定要删除,或者可能只允许具有密码的人删除文件。这段简单的代码是我们做所有这些事情的基础。

  • 发表于 2021-09-12 11:20
  • 阅读 ( 165 )
  • 分类:编程

你可能感兴趣的文章

如何用java连接mysql数据库

... 我们还需要一个用户名和密码才能连接到数据库(除非您想作为管理员连接,这通常是个坏主意)。 ...

  • 发布于 2021-03-11 17:39
  • 阅读 ( 335 )

如何在windows上安装mysql数据库

...动MySQL服务器。在标准系统帐户下运行服务。单击“文档存储”步骤中的“下一步”,然后单击“执行”以完成此阶段的设置。如果其他产品出现了其他配置选项,您可以通过单击“下一步”或“完成”暂时忽略这些选项而不做...

  • 发布于 2021-03-11 21:33
  • 阅读 ( 350 )

使用xampp在windows上免费托管和编辑网站

...SQL——SQL允许数据库和网站之间的通信,允许用户测试和存储电子邮件、密码和任何其他数据输入。我们会将此用于您的本地WordPress帐户。 ...

  • 发布于 2021-03-14 07:36
  • 阅读 ( 239 )

如何在raspberry pi上托管wordpress站点

...本。此外,确保您使用的是更大的SD卡(至少16GB),因为存储空间是web服务器的关键要求。(还要考虑Pi的一些外部存储!) ...

  • 发布于 2021-03-21 11:33
  • 阅读 ( 248 )

如何使用mysql跨多个设备同步kodi库

...的计算机上。在我们的例子中,我们将把MySQL安装在我们存储电影和电视节目的同一个always-on-home服务器上,只要Kodi可以使用媒体,数据库也可以。 第一步:安装mysql服务器 在本教程中,我们将在运行Windows10的媒体服务器上安装...

  • 发布于 2021-04-07 04:56
  • 阅读 ( 436 )

如何构建自己的usenet索引器

...这样我们就不必一直键入sudo。 您要做的第一件事是更新存储库: apt-get update Ubuntu上大多数与网站相关的内容都存在于/var/www中,因此让我们为我们的安装创建一个目录,并对该文件夹设置可写权限: mkdir –p /var/www/newznab chmod ...

  • 发布于 2021-04-12 07:01
  • 阅读 ( 187 )

如何把你家的ubuntu电脑变成lamp网络服务器

...stall phpmyadmin 如果此命令不起作用,则可能需要启用其他存储库。 您将看到另一个蓝屏,要求您选择要配置的web服务器。确保红色方块在“apache2”旁边,并确保击中空格键。这将用星号标记它,然后您可以按Enter键。 将询问...

  • 发布于 2021-04-13 01:58
  • 阅读 ( 256 )

将闪存驱动器转换为便携式web服务器

...后单击“确定”。确保您的闪存驱动器至少有250MB的可用存储空间。XAMPP将创建一个xamplite文件夹,并在安装过程中存储其中的所有文件。   单击安装,所有文件都将被提取到闪存驱动器中。这可能需要一些时间,具体取决于闪...

  • 发布于 2021-04-13 17:39
  • 阅读 ( 147 )

神谕(oracle)和mysql数据库(mysql)的区别

...多。Oracle支持分布式数据库,而MySQL不支持t3。Oracle支持存储点,而MySQL不支持t4。Oracle允许在数据库中使用程序,而MySQL不支持t5。Oracle适合企业部署,而MySQL适合中小型6。Oracle要求您支付MySQL不支付许可费 
 ...

  • 发布于 2021-06-23 20:30
  • 阅读 ( 194 )

文件系统(file system)和表格形式的数据库管理系统(dbms in tabular form)的区别

...的主要区别在于,文件系统有助于将原始数据文件的集合存储到硬盘中,而DBMS有助于轻松地存储、检索和操作数据库中的数据。 存储和管理数据是一个个体和大型组织的一项重要任务。数据的存储和管理方法有很多。其中两个...

  • 发布于 2021-06-30 17:51
  • 阅读 ( 357 )
iv7875332
iv7875332

0 篇文章

相关推荐