Обновлена ​​запись ОБНОВЛЕНИЯ - php mysql - PullRequest
0 голосов
/ 22 января 2019

У меня есть эта проблема, я должен обновить запись таблицы, которая имеет значения сериализованного столбца.вызов функции работает и передает данные правильно.Я могу ввести запись, но не могу обновить.Это мой код:

       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;

}

1 Ответ

0 голосов
/ 23 января 2019

edit.

Заменить это:

           $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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...