【问题标题】:MySQL to JSON Encode Error / No ResultsMySQL 到 JSON 编码错误/无结果
【发布时间】:2015-10-06 04:02:00
【问题描述】:

我知道这类问题已被问过几次,但我的问题有点不同,我无法解决这个问题。我检查了其他类似的问题,但找不到解决方案,因为一切似乎都是正确的。

我有一个名为 KalkanliMekanlar 的数据库表,里面有 3 个表。现在,我想对 Mekanlar 表的内容进行编码。里面有 5 列 22 行。

当我运行以下 PHP 代码时,我看不到任何结果。如果您能帮我解决这个问题,我将不胜感激。

我不知道它是否有帮助,但我的服务器在 digitalocean 上。

非常感谢您的帮助!

PHP 代码:

$sql = "SELECT * FROM Mekanlar";

$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));

$emparray[] = array();

while($row =mysqli_fetch_assoc($result))
{
    $emparray[] = $row;
}

echo json_encode($emparray);

mysqli_close($connection);

非常感谢您的帮助!

【问题讨论】:

标签: php mysql json encode


【解决方案1】:

替换这个:

$emparray[] = array();

这样:

$emparray = array();

【讨论】:

    【解决方案2】:

    在做了@RhinoDevel 的建议之后,也这样做

    while($row =mysqli_fetch_assoc($result))
    {
         array_push($emparray,$row);
    }
    

    编辑:跟随 Rhino 的 cmets,

        $array[] = array ();
        for ($i = 0 ; $i < 5 ; $i++) {
            $array[] = $i;
        }
        $logger->info("OP : " . json_encode($array));
        $array = array ();
        for ($i = 0 ; $i < 5 ; $i++) {
            $array[] = $i;
        }
        $logger->info("RD : " . json_encode($array));
    
        $array = array ();
        for ($i = 0 ; $i < 5 ; $i++) {
            array_push($array , $i);
        }
        $logger->info("YL : " . json_encode($array));
    

    产量:

    2015-07-17T06:59:42-04:00 TestPatient.api           INFO  OP : [[],0,1,2,3,4]
    2015-07-17T06:59:42-04:00 TestPatient.api           INFO  RD : [0,1,2,3,4]
    2015-07-17T06:59:42-04:00 TestPatient.api           INFO  YL : [0,1,2,3,4]
    

    【讨论】:

    • 这对使用括号应该没有影响(至少从 PHP 4 开始),请参阅:php.net/manual/en/function.array-push.php
    • @RhinoDevel 没错,我不能拒绝我自己的答案,但我可以 +1 你的。
    猜你喜欢
    • 1970-01-01
    • 2010-09-27
    • 2011-11-23
    • 2011-11-24
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    相关资源
    最近更新 更多