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

01

的07

创建表单

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

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

 

您的姓名:
电子邮件:
位置:

02

of 07

插入-从表单

添加数据

接下来,你需要process.php,我们表格将其数据发送到的页面。以下是如何收集此数据以发布到MySQL数据库的示例:

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

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

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

03

of 07

添加文件上载

现在你知道如何在MySQL中存储用户数据,所以让'进一步研究如何上传文件进行存储。首先,让我们的样本数据库:

创建表上载(id INT(4)NOT NULL AUTOu增量主键,描述CHAR(50),data LONGBLOB,文件名CHAR(50),文件大小CHAR(50),文件类型CHAR(50));

你应该注意的**件事是一个名为id的字段,它被设置为AUTOÅ增量。这种数据类型意味着t它将计算为每个文件分配一个从1开始到9999的**文件ID(因为我们指定了4位数字)。您也可能会注意到我们的数据字段称为LONGBLOB。如前所述,有许多类型的BLOB。TINYBLOB,BLOB,MEDIUMBLOB和LONGBLOB是您的选项,但我们将其设置为LONGBLOB以允许最大的文件。

接下来,我们将创建一个表单,允许用户上传她的文件。这只是一个简单的形式,显然,如果你愿意,你可以穿上衣服:

说明:

要上传的文件:

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

04

of 07

将文件上载到MySQL

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

文件ID:$ID";打印"

文件名:$formdataName
&##34;;print"

文件大小:$formdata
";print"

文件类型:$formØdataØType

&##34;;打印"要上传另一个文件,请单击此处"?>

在下一页了解更多有关实际操作的信息。

05

of 07

添加上传解释

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

接下来,它使用ADDSLASHES函数。这样做的是在文件名中添加反斜杠,以便我们在查询数据库时得到错误。例如e、 如果我们有Billy'sFile.gif,它将把它转换成Billy'sFile.gif. FOPEN打开该文件,FREAD航天小知识是读取的二进制安全文件,以便在需要时将ADDSLASHES应用于文件中的数据。

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

科普_1

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

06

of 07

检索文件

我们已经学会了如何从MySQL数据库中检索原始数据。同样,将文件存储在MySQL数据库中也不会'如果没有',则不是很实用;无法检索它们。我们将学习如何做到这一点的方法是根据每个文件的ID号为其分配一个URL。如果您记得我们上传文件时,我们会自动为每个文件分配一个ID号。当我们调用文件时,我们将在这里使用它。将此代码保存为download.php

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

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

07

257 of 07 258

删除文件

以下是一种从数据库中删除文件的非常简单的方法。你想小心!!将此代码保存为删除.php

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