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

y1aodyip  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(291)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

两年前关门了。
改进这个问题
在向数据库发送数据时,我使用serialize将数组保存在列中。在把它拿到前端的时候,我用了fetch_all(mysqli_assoc),它把所有的数据都拿到了,在把它送到前端之前,我怎样才能取消那个列中所有数据的序列化呢?我的table有很多行。

$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”将拆分我的列,我必须开始一个接一个地推送它

kadbb459

kadbb4591#

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

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

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

相关问题