有人可以建议我如何使用Php在单个MySQL单元中存储多个值? 我只是使用插入功能,但它根本没有帮助。
答案 0 :(得分:9)
永远不要在单个单元格中存储多个值。它会始终回复你。这是针对the 3rd rule of DB normalization。
仅在单元格中插入单个值,并在必要时添加多个记录。实施例
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'
答案 1 :(得分:1)
虽然我完全同意之前的回答,在单个单元格中存储多个值是非常糟糕的做法,但在某些特殊情况下,您可以执行此操作。
所以,如果你坚持,你需要创建一个包含所有值的字符串。最简单的方法是用逗号,换行符或其他一些在实际值中不出现/禁止的字符分隔它们。不过,请务必先对它们进行消毒。
如果您的值更复杂,可以将它们放入数组并使用PHP序列化(序列化/反序列化)或json编码(json_encode / json_decode)。
获得字符串后,只需使用UPDATE查询来更新该数据库行。