【问题标题】:where to store information like gender and year of birth?在哪里存储诸如性别和出生年份之类的信息?
【发布时间】:2011-02-27 01:04:55
【问题描述】:

我有用户,我需要他们指定性别(男性、女性)和出生年份(1930、1931...1999、2000)。

我想知道我应该在哪里存储这些值:

  1. 在数据库中?
  2. 在 php 文件中?

如果我将它们存储在数据库中,我必须先手动创建所有条目。但好在用户表会有约束,所以性别字段总是男性或女性,不能是别的。

如果我将它们存储在 php 文件中(例如,作为 html),那么我可以轻松地添加/删除值。但一个缺点是我在数据库中没有约束,所以另一个值可能会错误地存储为性别,即使我可以在 php 后端添加验证,所以即使有人破解了 html,它也不会被存储,除非它是男性或女性.

这样做的最佳做法是什么?

谢谢

【问题讨论】:

  • 使用数据库。当您必须转换为数据库时,前期的一些开销将节省您的时间。 ;-)
  • 听起来你确实明白了这一点。直接在 PHP == 难以维护。
  • 我知道这与编程无关,但并不是每个人都认同男性或女性。只是需要考虑的事情。您可能需要考虑允许将性别作为他们不必填写的可选字段的选项。

标签: php mysql database


【解决方案1】:

您的数据现在是什么格式的?您可能会自动将其插入数据库。在phpclasses.org 上应该有一些好的课程会有所帮助。绝对值得在您的服务器上安装phpMyAdmin(或者您可能已经拥有它)。使使用数据库变得更加容易。

【讨论】:

    【解决方案2】:

    我肯定会选择数据库,因为这是数据库的要点,用于存储数据。正如您所说,您可以添加限制、扩展收集的数据(即地址、电话号码、用户喜欢/不喜欢),并使用数据库更轻松地搜索/查询数据。至于最初的入口,有很多方法可以用 sql 将数据获取到数据库中。可能有一种非常简单的方法可以让您的当前用户进入数据库而无需太多工作。

    【讨论】:

      【解决方案3】:

      使用数据库,因为您以后肯定会想要查询记录,而使用 HTML(或文本文件)来处理这种类型的事情会很痛苦。正如戴夫所说,前期的一些工作可以在以后节省你的培根!

      【讨论】:

        【解决方案4】:

        使用数据库,轻松调用...

        如果你正在寻找这样的交易,Navicat 是 gui 的炸弹。

        【讨论】:

          【解决方案5】:

          如果我理解正确,您需要存储 1997、1998、1999 等...“男性”、“女性”值,而不是完整的用户行。如果是这种方式,我认为最好的解决方案是将其存储在外部文件中,例如 ini、xml、php(数组)等...

          一个很好的选择是从数据库元数据生成该文件。例如,如果您有一个枚举字段 ENUM('Male', 'Female'),那么您会以这种方式生成选项。实际上你可以生成默认的输入大小、数字或日期验证器等...

          我认为最好的解决方案是将后端数据存储与视图分开。如果您需要翻译页面以显示“Masculino”而不是“Male”但在数据库中保留值“Male”怎么办?

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-10-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-02-13
            • 2014-11-14
            • 2011-10-26
            • 2012-10-05
            相关资源
            最近更新 更多