0

谁能建议我如何使用 Php 在单个 MySQL 单元中存储多个值?我只是使用插入功能,但它根本没有帮助。

4

2 回答 2

8

不,不,不,不,不!

切勿在单个单元格中存储多个值。它总会回到你身边。这违反了数据库规范化的第三条规则

如果必须在单元格中插入单个值并添加多条记录。例子

photos table:          id  | filename
                       1   | 'myfoto.jpg'

comments table:       photo_id | user_id  | comment
                      1        | 23       | 'great picture'
                      1        | 99       | 'nice'
                      1        | 7        | 'do not like it'
于 2013-06-30T16:59:02.387 回答
1

尽管我完全同意前面的回答,即在一个单元格中存储多个值确实是一种不好的做法,但在某些特殊情况下并且有一定的限制,您可以这样做。

因此,如果您坚持,您需要创建一个包含所有值的字符串。最简单的方法是用逗号、换行符或其他在实际值中未出现/禁止的字符将它们分开。不过,请务必先对它们进行消毒。

如果您的值更复杂,您可以将它们放入数组并使用 PHP 序列化 (serialize/unserialize) 或 json 编码 (json_encode/json_decode)。

获得字符串后,只需使用 UPDATE 查询来更新该数据库行。

于 2013-06-30T18:08:07.683 回答