【问题标题】:UPDATE record serialized - php mysql更新记录序列化 - php mysql
【发布时间】:2019-06-15 17:54:19
【问题描述】:

我有这个问题,我必须更新具有序列化列值的表的记录。对该函数的调用可以正常工作并正确传递数据。我可以输入记录,但我不能更新。这是我的代码:

       public function update($user_id, $array_check)
{ 

        $arrayB = array();
        $array_check = unserialize($array_check);

        foreach ($array_check $key => $value) {
            if($value["id"] == $array_check){
                $idRow = $value["id"];

                if($value["value"] == "0"){
                    $valueRow = "1";
                }else{
                    $valueRow = "0";
                }
            }else{
                $idRow = $value["id"];
                $valueRow = $value["value"];
            }

            $row = array("id" => $idRow, "value" => $valueRow);
            $arrayB[] = $row;
        }

        $stmt = $this->_db->prepare('UPDATE data_docs SET docs_selected = :docs_selected WHERE user_id = :user_id');
        $row = $stmt->execute(array(':user_id' => $user_id, ':docs_selected' => serialize($arrayB) ) );

        return $arrayB;

}

【问题讨论】:

  • 对于 SO 的简单 QA 格式来说,这太宽泛了;请阅读how to ask an On Topic questionQuestion Checklisthow to create a Minimal, Complete and Verifiable Example
  • 我们无法帮助您解决如此模糊和过于宽泛的问题。请首先阅读How to Ask。然后查看图像映射,了解如何使图像的某些部分可点击。结合 AJAX 请求将与该点击有关的数据发送到服务器,并将其插入到那里的数据库中。如果您仍然不熟悉提到的任何关键字/技术,请从一些初学者教程开始。
  • 后期编辑...请帮助我

标签: php mysql serialization


【解决方案1】:

编辑。

替换这个:

           $stmt = $this->_db->prepare('UPDATE data_docs SET docs_selected = :docs_selected WHERE user_id = :user_id);

与:

           $deseralized = serialize($arrayB);
           $stmt = $this->_db->prepare('UPDATE data_docs SET docs_selected = '$deseralized ' WHERE user_id = '$user_id');

【讨论】:

    猜你喜欢
    • 2012-05-10
    • 2011-12-09
    • 2020-07-19
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多