2016-05-16 12 views
1

以下のコードを使用してデータベースからデータを抽出し、配列に変換しました。私の問題は、echo json_encode関数が動作しないことと、このコードを(print_r関数なしで)実行すると空白のページが残っていることです。PHPを使用してSQLクエリからSQLクエリからJSONに変換する

$query = "SELECT * From table"; 

$resultarray = array(); 

if ($result = mysqli_query($connection, $query)) { 

    while ($row = mysqli_fetch_row($result)) { 

     $resultarray[] = $row;  
    } 

    print_r($resultarray); // This line shows that the array is works but the code below does not convert to JSON. 

    echo json_encode($resultarray); 
} 

print_r関数を使用してコード内に配列が作成されていることを確認しました。私は何時間も周りを回り、私が間違っていることを理解していません。 print_r関数を使用してページソースを表示すると、次のようになります。

Array 
(
[0] => Array 
    (
     [0] => 5 
     [1] => Name 1 
     [2] => Description 1 
     [3] => Location 1 

    ) 

[1] => Array 
    (
     [0] => 6 
     [1] => Name 2 
     [2] => Description 2 
     [3] => Location 2 

    ) 

[2] => Array 
    (
     [0] => 45 
     [1] => Name 3 
     [2] => Description 3 
     [3] => Location 3 

    ) 

ありがとう。

+0

最初の行で文字列を閉じるには引用符がありませんか? – NoImaginationGuy

+0

この[リンク](http://stackoverflow.com/a/19366999/4018240)は役に立ちます。 –

+0

ありがとう@ManjeetBarnala問題解決済み。私はこれを見て、以下を追加して解決しました:mysqli_set_charset($ connection、 "utf8"); – Brett

答えて

0

あなたは、この行をダブルクォーテーションを追加するのを忘れ:

$query = "SELECT * From table;

と理由エラーが発生したことを内部サーバの。最初の行のコードは、この

$query = "SELECT * From table";

+0

良い点が、それは問題ではありません。スタックオーバーフローで貼り付けたときに$クエリを編集して、コードをより明確にするが、終わりを見逃してしまった。 "私が実行しているコードにはこれがあり、データベース内でクエリが実行されています。 – Brett

+0

上記の回答を確認してください – user6123296

0
$con = mysqli_connect("localhost", "username", "password", "dbname"); 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$sql ="SELECT * FROM `table_name`"; 
if ($result = mysqli_query($con, $sql)) { 
    while ($row = mysqli_fetch_row($result)) { 
     $resultarray[] = $row; 
    } 
    echo json_encode($resultarray); 
} 
mysqli_close($con); 
0

$ CONN = mysqli_connect( "ローカルホスト"、 "ルート"、 "ルート"、 "db_rest")ようにする必要があり


$ query = "SELECT *ユーザーから";
$ resultarray = array();
if($ result = mysqli_query($ conn、$ query)){
while($ row = mysqli_fetch_row($ result)){
$ resultarray [] = $ row;
}
echo json_encode($ resultarray);

関連する問題