Mysql returns 带有编号键的重复结果

Mysql returns duplicate results with numbered key

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

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

这是我 运行.

的 $query
SELECT id FROM clubsinformation WHERE :comparisonTime < updateTime

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

无论你有什么数据库 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,您仍然可以使用基本思想。