Mysql返回带有编号键的重复结果

时间:2015-04-20 08:45:56

标签: php mysql pdo duplicates

我在MySQL上做了一个SELECT查询并得到了这个结果。

enter image description here

问题是如何删除第二个重复的结果,例如我们使用列表中的第一个项目。 “0”:“1”是“id”的副本:“1”我宁愿在应用程序后面使用“id”而不是“0”作为键。我怎么能删除它来简化结果。我注意到“0”表示第1列,因为连续列的确是1加起来。

这是我运行的$查询。

SELECT id FROM clubsinformation WHERE :comparisonTime < updateTime

1 个答案:

答案 0 :(得分:3)

这很可能是由提取模式引起的,你需要通过关联索引来获取它,因为现在你需要包括关联和数字索引提取:

无论您使用的是什么数据库API,MySQLiPDO,只需将其设置为关联。

这样它就不会包含数字索引,只有列名作为键:

所以这在代码中大致看起来(通过查看你的查询占位符,它似乎是PDO,所以我将起草一个PDO示例)

$data = array(); // container
$query = 'SELECT * FROM clubsinformation WHERE :comparisonTime < updateTime';
$select = $db->prepare($query);
$select->bindValue(':comparisonTime', $comparisonTime);
$select->execute();

while($row = $select->fetch(PDO::FETCH_ASSOC)) { // associative
    $data[] = $row; // only includes column names
}

// then finally, encode
echo json_encode($data);

// OR SIMPLY
// $data = $select->fetchAll(PDO::FETCH_ASSOC); // associative
// echo json_encode($data);

通过PDO API提取。如果您正在使用MySQLi,您仍然可以使用基本想法。