如何在将所有列发送到前端之前反序列化单个列[关闭]

问题描述 投票:-5回答:1

在将数据发送到数据库时,我使用序列化来保存列中的数组。在将其提取到前端时,我使用了fetch_all(MYSQLI_ASSOC),它获取了所有数据,如何在将该列发送到前端之前对该列中的所有内容进行反序列化?我的桌子有很多行。

$result = mysqli_query($this->con, "SELECT * from messages_tb WHERE sender_username= '$sender'");
if ($result) {
        $sendThis=$result->fetch_all(MYSQLI_ASSOC);

 echo"data:".json_encode($sendThis)."\n\n";

 flush();

            }

在messages_tb中,我有一个名为files的列,我在将数据发送到数据库时对此列进行了序列化,如何对其进行特定的反序列化,然后将整个结果发送到前端,使用“while”和“fetch_array”将会分裂我的列和我必须一个接一个地开始推动它

php mysql mysqli
1个回答
1
投票

使用循环来反序列化数组中的列。

foreach ($sendThis as &$row) {
    $row['files'] = unserialize($row['files']);
}

&之前的$row使其成为引用变量,因此修改变量会更新数组元素。

© www.soinside.com 2019 - 2024. All rights reserved.