繁体   English   中英

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

[英]How to insert / store multiple items in a single cell DataBase using PHP & MYSQL

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

需要 output:

  • 100% 羊毛

  • 宽度约 72 厘米/28 英寸

  • 可用作区域地毯

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

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

$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 列可以存储的数据量有限制,请参阅https://dev.mysql.com/doc/refman/8.0/en/char.ZFC35FDC70D5FC69D2698883A

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM