![](/img/trans.png)
[英]how to store array values into single cell in mysql table using php?
[英]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.