PHPでデータベースから取得したデータを使ってJSONを吐き出してみる

PHPでデータベースから取得したデータをJSONとして出力する方法です。
JSONとして出力するにはとても簡単で、
連想配列として値を保存→header関数でJSONを指定してあげるだけです。

tags:

データベースから値を取り出して何かをする際に、
データの整形はJSを使ってクライアントサイドで行ないたいって場合にはいいですね。

今回はuserというテーブルからid、name、ageという項目を取ってきてJSONファイルに変換します。


  mb_language("uni");
  mb_internal_encoding("utf-8"); //内部文字コードを変更
  mb_http_input("auto");
  mb_http_output("utf-8");

  $link = mysql_connect('localhost', 'user', 'pass'); //user名とパスワードは各自
 if (!$link) {
    die('接続できません: ' . mysql_error());
 }

$db_name = "database"; //利用するデータベース名
mysql_select_db($db_name,$link);
 $sql = 'SELECT * FROM user';

$query = mysql_query($sql);

//取得した結果を取り出して連想配列に入れていく
$user= array();
while ($row = mysql_fetch_object($query)) {
 $user[] = array(
    'id'=> $row->id
    ,'name' => $row->name
    ,'age' => $row->age
    );
}

//jsonとして出力
header('Content-type: application/json');
echo json_encode($user);

上記のコードにアクセスすると以下のようにJSONファイルとして出力されます。 便利ですね。

[
  {
    "id": "turusuke",
    "name": "七曲彦三郎",
    "age": "50"
  },
  {
    "id": "tanaka",
    "name": "hikoichi",
    "age": "3"
  }
]