In Drupal worden sommige waardes serialized opgeslagen in de database. Via PHP wil ik deze uitlezen met een eigen script, maar dit gaat niet in alle gevallen goed. Ik haal de waardes op de volgende manier op: (komen allemaal uit hetzelfde veld in dezelfde tabel).
In sommige gevallen gaat het goed, maar in de meeste gevallen krijg ik als resultaat "bool(false)".
De waardes bij welke het goed gaan staan bijvoorbeeld zo in de database:
Bij bijvoorbeeld deze gaat het fout:
Het gaat om producten bij een bestelling en het lijkt erop dat wanneer er opties bij een product horen (dit is namelijk in het tweede geval zo), dat het dan niet lukt.
Wanneer ik de tweede waarde in een online unserialize website gooi gaat het wel goed. En ook wanneer ik de hele waarde direct in de code zet gaat het goed. Maar vanuit de database gaat het mis.
Moet ik de waarde misschien eerst nog ergens naar omzetten voordat ik unserialize toepas?
code:
1
2
| $producten = $data['data']; var_dump(unserialize($producten)); |
In sommige gevallen gaat het goed, maar in de meeste gevallen krijg ik als resultaat "bool(false)".
De waardes bij welke het goed gaan staan bijvoorbeeld zo in de database:
code:
1
| a:4:{s:10:"attributes";a:0:{}s:9:"shippable";s:1:"1";s:4:"type";s:19:"product_assortiment";s:6:"module";s:10:"uc_product";} |
Bij bijvoorbeeld deze gaat het fout:
code:
1
| a:4:{s:10:"attributes";a:3:{s:6:"Optie1";a:1:{i:6;s:7:"2 meter";}s:6:"Optie2";a:1:{i:0;s:0:"";}s:9:"Geschaafd";a:1:{i:0;s:0:"";}}s:6:"Optie3";s:1:"1";s:4:"type";s:7:"product";s:6:"module";s:10:"uc_product";} |
Het gaat om producten bij een bestelling en het lijkt erop dat wanneer er opties bij een product horen (dit is namelijk in het tweede geval zo), dat het dan niet lukt.
Wanneer ik de tweede waarde in een online unserialize website gooi gaat het wel goed. En ook wanneer ik de hele waarde direct in de code zet gaat het goed. Maar vanuit de database gaat het mis.
Moet ik de waarde misschien eerst nog ergens naar omzetten voordat ik unserialize toepas?