Stocker et récupérer un tableau multidimensionnel en utilisant php et mysql
-
23-08-2019 - |
Question
J'ai un tableau multidimensionnel en PHP comme ceci:
$array = array(
"Part1" => array(
"Subpart1" => array(0, 1),
"Subpart2" => array(1, 0)
),
"Part2" => array(0),
"Part3" => array(0, 1, 0)
);
Maintenant, je veux conserver ce tableau dans une table MySQL et récupérer exactement comme cela à nouveau sur une autre page PHP.
Je l'ai essayé en utilisant serialize()
et unserialize()
$array= serialize($array);
puis sur l'autre page
$array= $row['Array'];
$array2 = array();
$array2 = unserialize($array);
Mais je semble faire quelque chose de mal, au début, je suis un var_dump
de bool (false) et maintenant je reçois un var_dump
de NULL .
La solution
Votre code semble correct ...
Une chose qui peut vous surprendre est si votre colonne est trop petite - si vous utilisez VARCHAR (255) vos données peuvent être tronquées et n'unserialize. Si vous ajoutez la valeur de $row['Array']
je pourrais voir si elle est tout.
Autres conseils
Utilisation de type colonne TEXT. les données sérialisés ne correspondent pas souvent VARCHAR (255).
Vous pouvez utiliser encode JSON, json_encode ($ array) et vous obtiendrez une valeur de chaîne en notation JSON afin que vous puissiez stocker dans la base de données, et retrive et faire un json_decode ($ string, true) de sorte que vous cand convertir dans un tableau encore. Si vous ne passez pas le véritable argument de la json_decode, il converti en stdClass.
Ceci est ma table en php / html. J'ai besoin de stocker et de récupérer les php (Les détails p), la quantité (q), la vitesse (r) comme format de tableau séparé