Json数组不显示输出值

时间:2017-01-23 18:34:01

标签: php arrays json mysqli

我的代码需要帮助。我一直在寻找引用同一问题的问题。但我还没找到任何东西。

问题是它在输出中没有显示任何内容。 (没什么,只是一个空白页面。)所有的主机,用户,通行证,数据库名称和查询都很好。我对它们进行了三重检查。

这是我的代码:

<?php

    define('HOST', 'host');
    define('USER', 'user');
    define('PASS', 'root');
    define('DB', 'database');

    $con = mysqli_connect(HOST,USER,PASS,DB);
    $sql = "SELECT * FROM teams";
    $res = mysqli_query($con,$sql);


    $result = array();

    while($row = mysqli_fetch_array($res)){
        array_push($result, array(
            'id_team'=>$row[0],
            'name'=>$row[1]
        ));
    }

    echo json_encode(array("result"=>$result));

    mysqli_close($con);

?>

我使用了var_dump($result);,它显示了这样的完整数组:

  

array(134){[0] =&gt; array(4){[&#34; id_team&#34;] =&gt;字符串(1)&#34; 3&#34; [&#34;名称&#34;] =&GT;   string(6)&#34; Baddis&#34;} [1] =&gt; array(4){[&#34; id_equipo&#34;] =&gt;字符串(1)&#34; 4&#34;   [&#34;名称&#34;] =&GT; string(6)&#34; Combis&#34;}

我认为我必须收到如下输出:

  

[       {&#34; id_team&#34;:&#34; 3&#34;&#34;名称&#34;:&#34; Baddis&#34;},       {&#34; id_team&#34;:&#34; 4&#34;,&#34; name&#34;:&#34; Combis&#34;}]

所以,我不知道我错过了什么,或者我的代码中出了什么问题。有人能帮助我吗?

编辑2: 我使用了另一个简单的代码,但它是相同的,我不能获得超过X输出。我在我的数据库中有135行,我只能检索到70个团队的4列,如果我删除了一个列,我可以获得80个团队,它就像一个极限或最多的字符或者其他东西......同样的问题:

<?php
    $query=mysql_query("SELECT id_team,name,cat,tel FROM teams")
    while($row=mysql_fetch_assoc($query))
            $array[]=$row;
    print(utf8_encode($array));
    mysql_close();
?>

1 个答案:

答案 0 :(得分:0)

您的PHP版本&gt; = 5.2.0?你的json版本&gt; = 1.2.0?这个功能 仅适用于与那些相同或更大版本的版本。

要检查一下,请创建一个这样的php文件:

<? 
phpinfo();

然后运行它。 PHP版本是第一个出现在页面顶部的东西:

PHP Version 5.6.25

JSON版本应该出现在页面下方:

json
json support    enabled
json version    1.3.6

Json支持应自动包含在PHP&gt; = 5.2.0中。

要根据您的代码检查json_encode函数是否正常工作,您可以试试这个:

<?php

$result = array();

    array_push($result, array(
        'id_team'=>"1",
        'name'=>"Test1"
    ));
    array_push($result, array(
        'id_team'=>"2",
        'name'=>"Test2"
    ));
    array_push($result, array(
        'id_team'=>"3",
        'name'=>"Test3"
    ));

echo json_encode(array("result"=>$result));

以下是此代码应生成的输出:

{"result":[{"id_team":"1","name":"Test1"},{"id_team":"2","name":"Test2"},{"id_team":"3","name":"Test3"}]}