从mysql varchar返回null的Json值


json value returning null from mysql varchar

我试图使用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}]}

谢谢你的帮助

我有同样的问题,发现问题是编码到json时:我的varchar字段有一个è (Unicode字符),似乎导致了这个问题,所以我用e' (ASCII字符)代替了它,现在它工作了,所以…

你应该检查是否有一些non ASCII chars在你的数据库字段和替换它