Avatar billede michael_stim Ekspert
17. januar 2006 - 16:36 Der er 10 kommentarer og
1 løsning

Array ind i databasetabel?

Har et multiarray som jeg gerne vil smide ind i en tabel. Den skal ikke splittes eller noget, da den skal bruges som array igen når jeg kalder på den. Når jeg prøver sætter den bare "array" ind i feltet.
Avatar billede jackass- Nybegynder
17. januar 2006 - 16:49 #1
smid lidt kode?
Avatar billede michael_stim Ekspert
17. januar 2006 - 16:55 #2
Får du nok ikke meget ud af...
if ($settmpres > 0) {
            $arr=array();
            while($settmpres){
                $arr=$of->get_base_pdf($row['LEVNR'],$uge);
                /*if(is_array($arr) && count($arr)>0){
                    foreach($arr as $tmparr1){
                        foreach($tmparr1 as $tmparr2){
                            $tmparr.=$tmparr2;
                        }
                    }
                }*/
                $tmpressqlins="INSERT INTO pdflev (levnr,arr,uge) VALUES(".$row['LEVNR'].", :string, ".$uge.")";
                $connins = OCILogon("***", "***", "***");
                $stmt = OCIparse($connins, $tmpressqlins);
                ocibindbyname($stmt, ':string', $arr);
                OCIexecute($stmt);
                $settmpres = ocifetchinto($parsetmpres,$row,OCI_ASSOC);
                ocilogoff($connins);
            }
Avatar billede cpfrande Nybegynder
17. januar 2006 - 17:17 #3
Du kan ikke gemme et array i en database.

Alternativt kan du gemmes arrays indhold i databasen - og når du så hiver det ud af databasen kan du genetabler dit array.

Du kan dog ikke gemme selve array'et i databasen - sorry! :-)

--
Kristian
Avatar billede polle007 Nybegynder
17. januar 2006 - 17:21 #4
Hvis man serialiserer arrayet først, kan man faktisk godt lægge det ind. Prøv

ocibindbyname($stmt, ':string', serialize($arr));

når du henter arrayet ud igen, skal det igennem unserialize($data)
Avatar billede coderdk Praktikant
17. januar 2006 - 17:26 #5
polle har fat i den lange ende ;)
Avatar billede cpfrande Nybegynder
17. januar 2006 - 17:28 #6
Sygt - det vidste jeg faktisk ikke. Men virker det der med f.eks. MySQL?

Så vidt jeg forstår er det vel en gren af RMI ?

--
Kristian
Avatar billede coderdk Praktikant
17. januar 2006 - 17:32 #7
serialize() laver bare en datastruktur om til tekst, unserialize() fortolker teksten og genopretter datastrukturen... Så ja, du kan gemme det i mysql's text/varchar hvis du vil ;)

$arr = array( 'hej' => 'med', 'dig' => 'du!' );
echo serialize( $arr );

producerer følgende output:

a:2:{s:3:"hej";s:3:"med";s:3:"dig";s:3:"du!";}
Avatar billede cpfrande Nybegynder
17. januar 2006 - 17:34 #8
Så har jeg også lært noget nyt i dag :-)
Avatar billede michael_stim Ekspert
17. januar 2006 - 17:53 #9
Perfekt polle. Læg gerne et svar, og tak for hjælpen.

//Michael
Avatar billede michael_stim Ekspert
20. januar 2006 - 16:32 #10
Er du der polle?
Avatar billede michael_stim Ekspert
25. januar 2006 - 11:45 #11
Lukker imorgen polle...
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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