2016-05-10 11 views
0

私のデータベースから1つのjsonエンコードですべての配列をエンコードしてデコードしたいと思っていましたが、修正する方法がわかりません。jsonエンコードのデータベースから配列を追加

私は、1つの配列のsqlクエリからすべての配列を追加し、その中のすべての配列を持つその1つの配列をエンコードしようとしています。

私の現在のコード:

 $dbh = new PDO('mysql:host='.$this->server.';dbname='.$this->database.'', $this->user, $this->pass); 
     $result = array(); 
     foreach($dbh->query('SELECT * from bier') as $row) { 
      $result[] += $row; 
     } 
     print json_encode($result); 

更新コード:現時点で返し

function getData() 
    { 
    try { 

     $dbh = new PDO('mysql:host='.$this->server.';dbname='.$this->database.'', $this->user, $this->pass); 
     $result = array(); 
     foreach($dbh->query('SELECT * from bier') as $row) { 
      $result[] = $row; 
     } 
     $json = json_encode($result, JSON_PRETTY_PRINT); 
     var_dump($json); 

    } catch (PDOException $e) { 
     print "Error!: " . $e->getMessage() . "<br/>"; 
     die(); 
    } 
} 

ブール偽

+2

'$結果、この文から' '+ [] + = $行を削除し、'。 –

+0

@RajdeepPaulそれを試しましたが、印刷しようとすると何も表示されません。 – BananaCoder

+0

エラー報告をオンにします。これらの行を追加してください。 'error_reporting(E_ALL); ini_set( 'display_errors'、1); 'をPHPスクリプトの先頭に置き、エラーが発生するかどうかを確認します。 –

答えて

0

をPHPで、+=化合物演算子は「&割り当てを追加するために使用されます";ただし、配列に項目を挿入すると予想されるので、これは機能しません。

@Rajdeepが指摘しているように、その行から+を削除すると、コードが正常に動作するはずです。ここで

では、わかりやすくするためにいくつかの変更を更新し、あなたのコードです:

try 
{ 
    $data = new PDO('mysql:host='.$this->server.';dbname='.$this->database.'', $this->user, $this->pass); 
    $data->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    $list = []; 

    foreach($data->query('SELECT * from bier') as $item) 
    { $list[] = $item; } 

    $json = json_encode($list, JSON_PRETTY_PRINT); 

    echo $json; 
} 
catch (PDOException $fail) 
{ 
    echo $fail->getMessage(); 
    exit; 
} 

あなたはおそらく気付いたよう。変数名(配列)の後の文字シーケンス[] =は、割り当てられている配列に新しい項目を挿入します。

ブロックには問題があるかどうかを示す必要があります。

ここでエラーをチェックする方法についての詳細は:http://php.net/manual/en/pdo.connections.php

+0

ありがとう!しかし、それでもエコーや印刷を行おうとすると、何も表示されないようです:/ – BananaCoder

+0

データベースベースの接続設定が正しいことを確認し、データベースbierにデータがあることを確認してください。あなたの 'select'クエリ。 – argon

+0

それは私がテストしたすべての素晴らしいです。 – BananaCoder

関連する問題