簡體   English   中英

在PHP 7.0中編碼多維數組不起作用(json_encode)

[英]encoding multidimensional array in PHP 7.0 doesn't work (json_encode)

我從mysql phpmyadmin(Version 4.0)表獲取JSON數據時遇到問題,我嘗試了PDO和mysql_connect。

我的想法是:mysql-> PHP-> echo json

與服務器的連接正常,SQL語句正常運行。 我已經測試過了 但是JSON本身的“ json_encode”(以及其他一些符號)是不可能的。 json數組未構建。

我必須注意PhpMyAdmin中的設置嗎?

PDO:

      $query = $pdo->prepare('SELECT p.*, count(r.rate) AS rates, avg(r.rate) AS average from plugins p left join rate r on p.title = r.title group by p.title');
        $query->execute();
        $row = $query->fetchAll();
        // send the data encoded as JSON
        $json = json_encode($row, JSON_UNESCAPED_UNICODE);
echo $json;
       print_r($row);
        exit;

結果是:

Array ( [0] => Array ( [id] => 153 [0] => 153 [title] =>

我要去哪里錯了? 將服務器更新為PHP 7.0 ,現在代碼不起作用。 在更新之前,一切工作正常,並且有一個很長的json數組(應該如何)

應該如何

{{"id":"1","title":"ExmapleTitle"....},{"id":"2","title":"ExmapleTitle2"....}...} 

您必須調用execute()

    <?php

    $pdo = new PDO('mysql:host=xxxxx;dbname=xxxxx', 'xxxxxx', 'xxxxxx');

    $statement=$pdo->prepare("SELECT p.*, count(r.rate) AS rates, avg(r.rate) AS average from plugins p left join rate r on p.title = r.title group by p.title");

    $statement->execute(); // <<< --- You are missing this
    $data = $statement->fetchAll(PDO::FETCH_ASSOC);
    echo json_encode($data); //Echo: data ... voila

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM