-1

私のコードが二重のデータを取得する理由を理解するのを手伝ってもらえますか? クエリを使用してPHPファイルと一緒にWAMPにDBを配置しました

<?php
$dbName = $_SERVER["DOCUMENT_ROOT"] . "//proba//database.accdb";
if (!file_exists($dbName)) {
    die("Could not find database file." . $dbName);
}
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=$dbName; Uid=; Pwd=;");

$sql  = "SELECT * FROM Hotel";

$result = $db->query($sql);
$row = $result->fetch();


 echo json_encode($row);

すべてが正常に読み取られますが、インデックス0、1、2、3を持つデータと、DBフィールドの名前としてインデックスを持つデータの2つのデータが取得されます

{ "0" : "1",
  "1" : "Hotel one",
  "2" : "3 stars",
  "3" : "5",
  "ID" : "1",
  "Category" : "3 stars",
  "Object" : "Hotel one",
  "Rating" : "5"
}
4

2 に答える 2

1

これは、PDO フェッチ モードのためです。db$result->fetch(PDO::FETCH_ASSOC)フィールドのみを取得するには、次を使用します。

ドキュメント: http://php.net/manual/en/pdostatement.fetch.php

于 2013-10-05T15:20:16.820 に答える