DB到PHP到JSON

时间:2013-10-05 15:15:30

标签: php json

你能帮我弄清楚为什么我的代码会检索双数据吗?我把一个数据库放在WAMP上和PHP文件一起查询

<?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,另一个是索引作为数据库字段的名称

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

2 个答案:

答案 0 :(得分:1)

由于PDO获取模式,使用:$result->fetch(PDO::FETCH_ASSOC)仅获取数据库字段。

文档:http://php.net/manual/en/pdostatement.fetch.php

答案 1 :(得分:0)

fetch()方法返回一个数组,该数组包含与其名称关联的列数据,并且还与其索引顺序相关联。

使用$result->fetch(PDO::FETCH_ASSOC)仅获取包含列名称的数据,或使用$result->fetch(PDO::FETCH_NUM)获取包含索引号的数据。

相关问题