我在MySQL上做了一个SELECT查询并得到了这个结果。
问题是如何删除第二个重复的结果,例如我们使用列表中的第一个项目。 “0”:“1”是“id”的副本:“1”我宁愿在应用程序后面使用“id”而不是“0”作为键。我怎么能删除它来简化结果。我注意到“0”表示第1列,因为连续列的确是1加起来。
这是我运行的$查询。
SELECT id FROM clubsinformation WHERE :comparisonTime < updateTime
答案 0 :(得分:3)
这很可能是由提取模式引起的,你需要通过关联索引来获取它,因为现在你需要包括关联和数字索引提取:
无论您使用的是什么数据库API,MySQLi
或PDO
,只需将其设置为关联。
这样它就不会包含数字索引,只有列名作为键:
所以这在代码中大致看起来(通过查看你的查询占位符,它似乎是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
,您仍然可以使用基本想法。