首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PHP在单个单元格DataBase中插入/存储多个项

如何使用PHP在单个单元格DataBase中插入/存储多个项
EN

Stack Overflow用户
提问于 2019-11-17 12:00:55
回答 1查看 260关注 0票数 0

我在一个表中有一个名为- points的列,我需要在一个points列字段中插入/存储多个值,并将它们显示为列表项EX: point(列):100%羊毛,宽度约72厘米/ 28英寸,可用作区域地毯。

所需产出:

  • 100%羊毛
  • 宽度约72厘米/ 28英寸
  • 可用作区域地毯

我的方法是用数组做这件事,但是怎么做呢?我可以知道使用php & MySQL处理它的其他方法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-11-17 12:18:06

是的,可以将数组存储在单个表列中。但是首先,需要将数组转换为字符串。例如:

代码语言:javascript
复制
$dataarray = [
    'title' => '100% Wool',
    'properties' => [
        'Width approx 72cm / 28 inches',
        'Can be used as an area carpet'
    ]
]
$datastring = serialize($dataarray); // returns string

// save to to your database, using $datastring as a value for the 'points' column
[...]

再次从数据库读取数据后,只需将存储的数据取消序列化,然后将数组返回:

代码语言:javascript
复制
// load data from database
[...]

$datastring = $row['points'];
$dataarray = unserialize($datastring);
print_r($dataarray);

请注意,单个mysql列可以存储的数据量是有限制的,请参阅https://dev.mysql.com/doc/refman/8.0/en/char.html

作为serialize() / unserialize()的替代方案,您可以使用json_encode() / json_dencode(),它更安全一些,并且使用更通用的存储格式,参见https://www.php.net/manual/en/function.unserialize.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58900211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档