Pergunta

Eu tenho uma matriz multidimensional em PHP como este:

$array = array(
    "Part1" => array(
        "Subpart1" => array(0, 1),
        "Subpart2" => array(1, 0)
    ),
    "Part2" => array(0),
    "Part3" => array(0, 1, 0)
);

Agora eu quero armazenar essa matriz em uma tabela MySQL e recuperá-lo exatamente como isso de novo em outra página PHP.

Eu tenho tentado usar serialize() e unserialize()

$array= serialize($array);

e depois na outra página

$array= $row['Array'];
$array2 = array();
$array2 = unserialize($array);

Mas eu parecem fazer algo errado, no começo eu tenho um var_dump de bool (false) e agora eu recebo um var_dump de NULL .

Foi útil?

Solução

Seu código parece ok ...

Uma coisa que pode pegar você é se sua coluna é muito pequeno - se você usar VARCHAR (255) seus dados podem ser truncados e não vai unserialize. Se você adicionar o valor de $row['Array'] eu poderia ver se ele é todo.

Outras dicas

Use tipo de coluna TEXT. dados serializados muitas vezes não se encaixam VARCHAR (255).

Você pode usar codificar json, json_encode ($ array), e você obterá um valor de string em notação JSON assim que você pode armazenar no banco de dados e retrive e fazer um json_decode ($ string, true) para que você cand converter em uma matriz novamente. Se você não passar o verdadeiro argumento para o json_decode, será convertido para um stdClass.

Elementos Quantidade Rate Quantidade quantidade Sum Outros outros Quantidade imposto Total

Esta é minha mesa no php / html. Eu preciso armazenar e recuperar o php Particulares (p), Quantidade (q), Taxa de (r) como um formato de tabela em separado

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top