array opslaan database
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.
Onderstaande code werkt niet, nu slaat hij alles op als array.
Alvast bedankt voor de reacties.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
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 );
?>
print_r($images);
$files = array($images);
$string = "('" . implode("'),('", $files) . "')";
$query = 'INSERT INTO foto (image) VALUES' . $string;
mysql_query( $query );
?>
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..
Overigens kunnen wij niets met "werkt niet"..
Ik zie om te beginnen al geen connectie met de database en enige foutafhandeling is ook zoek..
Ik weet dat je met de functies serialize en unserialize variabelen, arrays, objecten enz. kan "veranderen" in een string en weer terug.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);
}
?>
//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);
}
?>
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
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)
1
2
3
4
5
6
7
8
9
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);
}
?>
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
... prepared statements ...
Hoi Hipska, bedankt voor je reacties, kun je een opzetje geven(stukje code)?
Heb het nu zo, en dat werkt.
foreach($images[0] as $file)
{
mysql_query("INSERT INTO afbeelding (image) VALUES ('.$file.');",$link);
}
foreach($images[0] as $file)
{
mysql_query("INSERT INTO afbeelding (image) VALUES ('.$file.');",$link);
}
'Gelieve:
Gewijzigd op 01/01/1970 01:00:00 door els
Waarom doet iedereen zo moeilijk, komen ze met niet werkende code of oplossingen zonder uitleg.
En bij het uitlezen doe je dan weer
Zo moeilijk is dat niet...
edit: het kan zelfs nog makkelijker:
Immers, een variabele in een variabele stoppen heeft weinig nut.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
print_r($images);
$files = array($images);
$query = "INSERT INTO foto (image) VALUES ('".serialize($files)."')";
mysql_query( $query );
$files = array($images);
$query = "INSERT INTO foto (image) VALUES ('".serialize($files)."')";
mysql_query( $query );
En bij het uitlezen doe je dan weer
Zo moeilijk is dat niet...
edit: het kan zelfs nog makkelijker:
Code (php)
1
2
3
2
3
$query = "INSERT INTO foto (image) VALUES ('".serialize($images)."')";
mysql_query( $query );
mysql_query( $query );
Immers, een variabele in een variabele stoppen heeft weinig nut.
Gewijzigd op 01/01/1970 01:00:00 door Tristan nvt
En indien ze allemaal los in de database moeten komen:





