簡體   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