Bij het opvragen van data gebeurd er iets raars. Ik vraag het op via volgende functie


function fetch ($query_string)
 {
	$data = mysql_fetch_assoc(mysql_query($query_string));
	print_r($data);
	return $data;
	
}


de print_r geeft me mooi alles terug wat ik wil. Dus dit lijkt te werken.

 
// database connecten
connect("blabla");
$data= fetch("SELECT * FROM gedichten WHERE id='500'");


foreach($data as $key => $row)
{
echo $row['titel']; 

}
				


Bij de foreach doet hij echter heeel raar. HIj geeft enkel maar de eerste letter weer van elk onderdeel

Voorbeeld:
Titel= Test
Gedicht = Ik hou van je
Auteur = Koen

=> hij geeft "TIK" terug. terwijl hij de titel zou moeten weergeven. Het zal wel weer iets doms zijn maar toch snap ik totaal niet dat hij een resultaat teruggeeft die echt nergens op slaat.

Kan iemand helpen?

Waarom geen while loop gebruiken?
<?php
$query= mysql_query("SELECT * FROM gedichten WHERE id='500'");

while($row = mysql_fetch_assoc($query));
{
echo $row['titel'];
}
?>
Nou ik moet zelfs geen foreach doen omdat het maar 1 resultaat is. Ik kan gewoon met $data['titel]; etc werken. Toch vind ik het resultaat wel erg vreemd. Ik ben rare foutmeldingen gewoon maar slechts het eerste teken weergeven van elk onderdeel van de array is wel heel erg vreemd.

Ik hoop dat iemand weet wat er precies gebeurd... :s
Array's enzo uit databases halen doen wel vaker raar zonder while loop...
Voorbeeld:
De db:

Naam      # Plaats
###############
Piet         # A'dam
Jan          # R'dam


Als je dit ophaald dmv mysql_fetch_array();
Vervolgens de array print
Krijg je zoiets (dacht ik):

array(
         Piet
         Piet
)
Dit geeft alle waardes weer:
<?php
connect("blabla");
$data= fetch("SELECT * FROM gedichten WHERE id='500'");
foreach($data as $key => $value)
{
echo $value;
}
?>
Of gewoon met print_r, niet zoveel gebruikte functie om in een keer een hele array naar het scherm te schrijven, alleen bruikbaar voor testdoeleinden maargoed...

Reageren