json值从mysql varchar返回null

时间:2014-05-06 15:58:16

标签: php mysql json

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

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题并发现问题是在编码为json时:我的varchar字段有一个è(Unicode字符)似乎导致问题,所以我用e'替换它(ASCII chars)现在它有效,所以......

您应该检查数据库字段中是否有non ASCII chars并替换它。