谁能建议我如何使用 Php 在单个 MySQL 单元中存储多个值?我只是使用插入功能,但它根本没有帮助。
问问题
2612 次
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 回答