我如何在将所有列发送到前端之前反序列化单个列

时间:2018-09-18 16:58:14

标签: php mysql mysqli

在将数据发送到数据库时,我使用序列化将数组保存在列中。在将其提取到前端时,我使用了 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 的列,我在将数据发送到数据库时序列化了该列,如何专门对它进行反序列化,而又使用<将整个结果发送到前端strong>“ while”和“ fetch_array” ,将拆分我的列,我必须开始一个接一个地推送

1 个答案:

答案 0 :(得分:1)

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

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

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