如何使用 PHP 和 MYSQL 在单个单元格数据库中插入/存储多个项目

Posted

技术标签:

【中文标题】如何使用 PHP 和 MYSQL 在单个单元格数据库中插入/存储多个项目【英文标题】:How to insert / store multiple items in a single cell DataBase using PHP & MYSQL 【发布时间】:2020-03-12 23:24:44 【问题描述】:

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

需要输出:

100% 羊毛

宽度约 72 厘米/28 英寸

可用作区域地毯

我的方法是用一个数组来做,但是怎么做呢? 我可以知道使用 phpmysql 处理它的任何其他方法吗?

【问题讨论】:

试图让问题更清楚。 【参考方案1】:

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

$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
[...]

再次从数据库中读取数据后,只需对存储的数据进行反序列化即可获得数组:

// load data from database
[...]

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

请注意,单个 mysql-column 可以存储的数据量是有限制的,请参阅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

【讨论】:

以上是关于如何使用 PHP 和 MYSQL 在单个单元格数据库中插入/存储多个项目的主要内容,如果未能解决你的问题,请参考以下文章

将 PHP 数组存储在单个 SQL 单元格中

在单个 UIScrollview 中使用多个 UITableViews,如何仅加载可见单元格的单元格数据

如何在 WPF 数据网格中选择单个单元格?

如何使用单个PHP代码在单独的字段中存储单独的图像

php合并单元格

Pandas 如何将数组放置在单个数据框单元格中?