2

JSON出力にインデックス番号と関連付け列名の両方が表示されるのはなぜですか?

「UID」などの列名だけが必要です

PHPコード

$res = $statement->fetchAll();
$records = array('Record'=>$posts);
echo json_encode($records);

JSON出力

{
  "Record":[
    {
      "UID":"1001",
      "0":"1001",
      "NAME":"Robot2",
      "1":"Robot2",
      "EMAIL":"robot2@test.com",
      "2":"robot2@test.com",
      "GENDER":"f",
      "3":"f"
    },
    {
      "UID":"1030",
      "0":"1030",
      "NAME":"Anna",
      "1":"Anna",
      "EMAIL":"Anna@msn.com",
      "2":"Anna@msn.com",
      "GENDER":"f",
      "3":"f"
    }
  ]
}

ありがとう

4

2 に答える 2

5

説明については、ドキュメントを参照してください。

http://php.net/manual/en/pdostatement.fetchall.php

関連付けアイテムのみを取得するにはPDO::FETCH_ASSOC、fetchAllに渡す必要があります。

于 2012-10-22T15:04:44.523 に答える
4

デフォルトのフェッチスタイルはです。PDO::FETCH_BOTHに設定する必要がありますPDO::FETCH_ASSOC

$res = $statement->fetchAll(PDO::FETCH_ASSOC);

または、次の方法でデフォルトのDEFAULT_FETCH_MODEを設定できます。

$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

その後、あなたはただすることができます$res = $statement->fetchAll();

于 2012-10-22T15:04:11.490 に答える