Avatar billede jalaboo Nybegynder
06. oktober 2000 - 13:24 Der er 13 kommentarer og
1 løsning

hvordan gemmer jeg et array i MySQL ?

Hvordan gemmer man et array i en MySQL tabel ?
Avatar billede halnet Nybegynder
06. oktober 2000 - 13:26 #1
Ligesom du gemmer en alm variabel!

Du kan ikke lave arrays i db\'en!

- Anders
Avatar billede halnet Nybegynder
06. oktober 2000 - 13:27 #2
Så vidt jeg ved...

- Anders
Avatar billede jalaboo Nybegynder
06. oktober 2000 - 13:36 #3
skal jeg så bare gemme min array i en TEXT således:

SET arr_str = \'1 => \"æble\", 3 => \"pære\"\'
Avatar billede jinxed Nybegynder
06. oktober 2000 - 13:47 #4
Hvis du bare vil lagre et array, og du ikke har brug for at søge i det, så kan du bruge serialize() når du gemmer det og unserialize() når du henter det
Avatar billede jalaboo Nybegynder
06. oktober 2000 - 13:55 #5
jinxed : har du et link til noget manual ?
Avatar billede limemedia Nybegynder
06. oktober 2000 - 14:01 #6
du kan konvertere din array til en string og gemme denne i databasen og konvertere tilbage til array når du skal bruge den.

kig på kommandoerne implode og explode for at gøre det.
Avatar billede limemedia Nybegynder
06. oktober 2000 - 14:02 #7
I PHP :
implode : http://dk.php.net/manual/function.implode.php
explode : http://dk.php.net/manual/function.explode.php

husk at vælge en god unik seperator...


/ Lars
www.ljweb.com
Avatar billede jinxed Nybegynder
06. oktober 2000 - 14:20 #8
http://dk.php.net/manual/function.serialize.php
og
http://dk.php.net/manual/function.unserialize.php

//store
mysql_query(\"INSERT INTO tabel (array) VALUES (\'\".serialize($arrayet).\"\')\");

//retrieve
$res=mysql_query(\"SELECT * from tabel\");
$array=mysql_fetch_row($res);
$array=unserialize($array[0]);

Jinxed ; ]
Avatar billede limemedia Nybegynder
06. oktober 2000 - 14:25 #9
$array = unserialize(mysql_fetch_row($res));
Avatar billede jinxed Nybegynder
06. oktober 2000 - 14:29 #10
nej, da det skal være index 0 og ikke hele array\'et : )
Avatar billede limemedia Nybegynder
06. oktober 2000 - 14:36 #11
ahh, så ikke du havde select * (så skal det jo være cifret hvor arrayet bliver outputtet)
Avatar billede jinxed Nybegynder
06. oktober 2000 - 14:41 #12
OK det var jo bare et eksempel....
Men jo det skal selfølgelig være indexet på array\'et i resultet
Avatar billede jalaboo Nybegynder
08. oktober 2000 - 10:10 #13
jinxed: skal jeg gemme det i et text felt i databasen?
Avatar billede jinxed Nybegynder
09. oktober 2000 - 11:00 #14
Ja, eller en varchar hvis det er lille nok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester