我试图使用json从mysql获取数据。字段类型是Varchar(56)。 这是我的PHP代码:
<?php
$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB');
mysql_select_db('tugas_akhir', $link) or die('Cannot select the DB');
/* grab the posts from the db */
$query = "SELECT ekuivalen
FROM temp_hasil where username='Dia'";
$result = mysql_query($query, $link) or die('Errorquery: '.$query);
$rows = array();
while ($r = mysql_fetch_assoc($result)) {
$rows[] = $r;
}
$data = "{aturan:".json_encode($rows)."}";
echo $data;
?>
当我在firefox上运行它时显示
{aturan:[{"ekuivalen":null}]}
感谢您的帮助
答案 0 :(得分:1)
我遇到了同样的问题并发现问题是在编码为json时:我的varchar字段有一个è
(Unicode字符)似乎导致问题,所以我用e'
替换它(ASCII chars)现在它有效,所以......
您应该检查数据库字段中是否有non ASCII chars
并替换它。