Hej!
Jag har en array, som jag vill spara i en My Sql databas. Är det någon som vet hur man kan göra det?
Array
8 svar · 663 visningar · startad av Php
Ta en titt på http://se.php.net/serialize
Förstår inte riktigt hur jag ska göra. Har du något enkelt exempel på hur det kan se ut?
$array = array('a','b','c','d');
$var = serialize($array);
mysql_query("insert into tabell (kolumn) values ('$var')");
Jag får a:1:{i:0;s:10:"$phparr[1 sparat i databasen.
$phparr = explode("$a",$b);
$array = array('$phparr[1]');
$var = serialize($array);
$phparr = explode("$a",$b);
$var = serialize($phparr[1]);
mysql_query("insert into tabell (kolumn) values ('$var')");
//sen för att plocka fram arrayen igen så kör du:
$resource = mysql_query('select kolumn from tabell where id = 3');
$data = mysql_fetch_array($resource);
$phparr = unserialize($data['kolumn']);
Att arrayen ser konstig ut i databasen är helt normalt.
Php skrev:
Jag får a:1:{i:0;s:10:"$phparr[1 sparat i databasen.
$phparr = explode("$a",$b); $array = array('$phparr[1]'); $var = serialize($array);
När du vill ha tillbaka din array får du köra unserialize. :)
Php skrev:
Jag får a:1:{i:0;s:10:"$phparr[1 sparat i databasen.
Det kan ju också vara så att Php från början avsåg att spara vektorns innehåll i databsen men hans fråga blev tolkad bokstavligen :)
Du bör nog också köra mysql_real_escape_string() på strängen innan du skickar in den i databasen, och sen stripslashes() när du hämtar den igen.