array opslaan database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Els

els

08/09/2009 16:07:00
Quote Anchor link
Hoi, Hoe kan ik een array opslaan in mijn database?
Onderstaande code werkt niet, nu slaat hij alles op als array.
Alvast bedankt voor de reacties.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
print_r($images);
$files = array($images);


$string = "('" . implode("'),('", $files) . "')";


$query = 'INSERT INTO foto (image) VALUES' . $string;

mysql_query( $query );

?>
 
PHP hulp

PHP hulp

24/04/2024 22:47:25
 
Hipska BE

Hipska BE

08/09/2009 16:40:00
Quote Anchor link
Ooit al van prepared statements gehoord? Dit kan perfect wat jij hier probeert te verwezelijken, en dan nog eens veeel veiliger ook!

Overigens kunnen wij niets met "werkt niet"..
Ik zie om te beginnen al geen connectie met de database en enige foutafhandeling is ook zoek..
 
Krop Kroppyer

Krop Kroppyer

08/09/2009 17:55:00
Quote Anchor link
Ik weet dat je met de functies serialize en unserialize variabelen, arrays, objecten enz. kan "veranderen" in een string en weer terug.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
//voorbeeld
$aImages = array("zonsondergang.jpeg","schoener.jpeg","vrijheidsbeeld.jpeg");
$sString = serialize($aImages);

//nu kan je $sString gewoon als een string in je DB opslaan.
//als je de string bij het uitlezen weer uit de DB hebt gehaald kan je 'm weer omzetten naar je array:


$aImages = $unserialize($sSrting);

//als je alles apart in in je DB wilt hebben moet je een foreach loop gebruiken:

foreach($aImages as $sFileName)
{

  slaOpInDB($sFileName);
}

?>
 
Els

els

08/09/2009 19:08:00
Quote Anchor link
Heb het nu zo, maar hij schrijft alleen maar array in mijn database.

Als ik dit doe 'print_r($images);' laat hij mooi alles zien
Zo komt het uit de array:
Array ( [0] => http://www.blabla.nl/algemeen/images/logo_nu_nl.gif [1] => http://www.blabla.nl/algemeen/images/clear.gif [2] => http://www.blabla.nl/m/m1cz2pkaq3ol.jpg [3] => enz

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
print_r($images);

foreach($images as $sFileName)
{

mysql_query("INSERT INTO afbeelding (image) VALUES ('$sFileName');",$link);

}

?>
Gewijzigd op 01/01/1970 01:00:00 door els
 
Hipska BE

Hipska BE

08/09/2009 22:42:00
Quote Anchor link
... prepared statements ...
 
Els

els

08/09/2009 23:11:00
Quote Anchor link
Hoi Hipska, bedankt voor je reacties, kun je een opzetje geven(stukje code)?
 
Els

els

08/09/2009 23:40:00
Quote Anchor link
Heb het nu zo, en dat werkt.
foreach($images[0] as $file)
{


mysql_query("INSERT INTO afbeelding (image) VALUES ('.$file.');",$link);
}

Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door els
 
Tristan nvt

Tristan nvt

09/09/2009 10:00:00
Quote Anchor link
Waarom doet iedereen zo moeilijk, komen ze met niet werkende code of oplossingen zonder uitleg.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
print_r($images);
$files = array($images);


$query = "INSERT INTO foto (image) VALUES ('".serialize($files)."')";

mysql_query( $query );


En bij het uitlezen doe je dan weer

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
print_r(unserialize($fetch['image']));


Zo moeilijk is dat niet...

edit: het kan zelfs nog makkelijker:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$query = "INSERT INTO foto (image) VALUES ('".serialize($images)."')";

mysql_query( $query );


Immers, een variabele in een variabele stoppen heeft weinig nut.
Gewijzigd op 01/01/1970 01:00:00 door Tristan nvt
 
Tim

Tim

09/09/2009 11:45:00
Quote Anchor link
En indien ze allemaal los in de database moeten komen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query = 'INSERT INTO foto (image) VALUE (' . implode('") ("', $images) . ')';
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.