在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 AUTOu增量主键,描述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";打印"
文件名:$formdataName
#34;;print"
文件大小:$formdata
";print"
文件类型:$formØdataØType
#34;;打印"要上传另一个文件,请单击此处"?>
在下一页了解更多有关实际操作的信息。
05
of 07
添加上传解释
这个代码实际做的**件事是连接到数据库(您需要用实际的数据库信息替换它。)
接下来,它使用ADDSLASHES函数。这样做的是在文件名中添加反斜杠,以便我们在查询数据库时得到错误。例如e、 如果我们有Billy'sFile.gif,它将把它转换成Billy'sFile.gif. FOPEN打开该文件,FREAD航天小知识是读取的二进制安全文件,以便在需要时将ADDSLASHES应用于文件中的数据。
接下来,我们将表格收集的所有信息添加到数据库中。您会注意到我们首先列出了这些字段,然后列出了第二个值,所以我们不会意外地尝试将数据插入到**个字段(自动分配ID字段)中
最后,我们打印出数据供用户查看。
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。)出于显而易见的原因,您希望小心使用此代码。这当然是为了演示,当我们实际构建应用程序时,我们希望提供保护措施,让用户确定他们是否要删除,或者可能只允许有密码的人删除文件。这个简单的代码是我们将做所有这些事情的基础。