Hey mensen,

Ik heb een simpele pagina wat wat gegevens uit mijn database haalt.

<?php
$user = '***';
$pswd = ***';
$db = '***';
$conn = mysql_connect('localhost', $user, $pswd);
mysql_select_db($db, $conn);
$sql = mysql_query("SELECT title, introtext FROM jos_content WHERE id='83' AND asset_id='957'");
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
//echo $output;
print(json_encode($output));
mysql_close;
?>


maar vervolgens is de output
[{"title":"Mededelingen","introtext":"

Mededelingenbord!<\/p>"}]


terwijl in de database gewoon staat <p>Mededelingenbord!</p>

heeft iemand enig idee hoe dit komt?
Obelix en Idefix op 25/07/2012 21:30:56

In de code hierboven mis je op regel 3 in ieder geval een '
Verder mis ik foutafhandeling.
In je topictitel staat 'html special char'. Zie ik niet terug in je code.
Wel json_encode. (http://php.net/manual/en/function.json-encode.php) Kan dat de oorzaak niet zijn.


bedankt voor je snelle reactie.
op regel 3 staat de ' wel maar omdat ik die velden leeg had gehaald heb ik die per ongeluk ook weg gehaald.
klopt ik moet een isset erop zetten
heb ik nu gedaan if(isset($row)){
echo "goed";
}else{
echo "fout";
}

klopt, want </p> is een html character dacht ik

[size=xsmall]Toevoeging op 25/07/2012 21:43:20:[/size]

het zit hem inderdaad in de json_encode heb een print en print_r gedaan zonder json_encode gedaan en dan krijg ik wel gewoon normale waardes terug, het vervelende is dat ik wel json nodig ben
heb het probleem trouwens opgelost met str_replace
print str_replace('\/','/',json_encode($output));

ik zal de fout afhandeling ook nog even doornemen.

Bedankt

Reageren