php - 在mysql中存储设置

标签 php html mysql binary-data

我有一个正在构建的应用程序,我必须保存某些页面的设置。我决定将它以二进制数据格式保存在 mysql 中。我有很多复选框。所以假设我有这种形式

<form>
<input type="text" value="some text" id="text">
<input type="checkbox" name="checkboxes1">
<input type="checkbox" name="checkboxes2">
<input type="checkbox" name="checkboxes3">
</form>

我有 10 个页面具有与此类似的设置页面。我想我可以将这些数据以二进制数据的形式写入mysql数据库。假设选择了第一个和最小的一个,所以我在 mysql 101 中编写。什么样的数据类型选择BLOBVARCHAR还是别的?

最佳答案

存储按位数据的最有效方法是使用整数数据类型。在您的例子中,每个复选框代表一个整数的 1 位。例如,如果设置了复选框:

checkbox 1 checked
checkbox 2 unchecked
checkbox 3 checked

这表示 5 (1*2^2 + 0*2^1 + 1*2^0)。根据您需要存储的位数使用以下类型的整数:

tiny int:    8  bits
small int:   16 bits
medium int:  24 bits
int:         32 bits
big int:     64 bits

参见 http://dev.mysql.com/doc/refman/5.6/en/integer-types.html了解更多信息

关于php - 在mysql中存储设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17811623/

相关文章:

php - 无法从 mysql varchar 中获取 json 但 int

MySQL:在行列表中使用给定值找到合适的行

javascript - 表单提交与另一个表单的数据

javascript - 悬停时使用CSS类显示和隐藏子div

html - 仅当您确定页面时才使用 CSS

javascript - 在第二次加载时更改 iframe 样式,在 Internet Explorer 9 中不起作用

mysql - 计数不同的值,其中另一个值的计数 = 1

php - 如何更改 Mantis 中的配置文件?

php - Symfony2中用于开发和生产的不同错误模板

php - SQL 查询来查找特定博客文章的作者?