Json编码来自mysql结果的错误

时间:2011-07-24 04:41:16

标签: php mysql json

我对以下错误Warning: [json] (php_json_encode) type is unsupported, encoded as null进行了一些研究,但未找到答案的方式?

我正在尝试编码mysql查询的结果。不确定我能提供什么信息..但是当我使用

回显mysql数据的结果时

$ data = json_encode($ result);

echo $ data;

while($info = mysql_fetch_array($result))
            {
            $content[] = $info;
            }

$count = count($content);

    for($i=0;$i<$count;$i++){

        echo $content[$i]['Name'];

    }

每件事都表现得很正常。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:3)

怎么样:

$result=array();
for($i=0;$i<$count;$i++)
{
    $result[]=$content[$i]['Name'];
}
echo json_encode($result);

答案 1 :(得分:2)

mysql_fetch_array将返回一个包含数字和非数字值的数组。这对于PHP来说很好,但它在其他格式中并没有真正发挥作用,它很可能是问题的原因。你试过mysql_fetch_assoc吗?

BIG EDIT

刚刚注意到上面的代码。你有:

$data = json_encode($result);

echo $data;
while($info = mysql_fetch_array($result))

那不行。 $ result是一种资源数据类型。它不能被序列化为json_encode可以读取的东西。您必须首先创建其内容的数组并序列化它。只是确保你知道。