SQL SELECT DISTINCT不起作用

时间:2016-05-22 09:00:01

标签: mysql sql mysqli

我有一个选择器,我希望用户只能从表中看到不同的“项目”。下面我有代码循环结果。如果我将查询更改为SELECT *,它可以正常工作。

<select name="sample">
  <option value="trail">Trail</option>
  <?php
  $set = $mysqli->query("SELECT DISTINCT set FROM trail ORDER BY category");
  if ($set->num_rows != 0){
    while($set_1 = $set->fetch_assoc()) {
    $set_category = $set_1['category'];
    $set_set = $set_1['set'];
  ?>
  <OPTION VALUE="<?php echo $set_set; ?>"><?php echo $set_category.' :: '.$set_set ?></OPTION>
  <?php
    }
  }
  ?>
</select>

DESTINCT是否已折旧?我无法弄清楚为什么它不起作用。

在检查了其他人关于这个主题的问题后,我来到了这里。我尝试添加两列,但也没有显示任何内容。

1 个答案:

答案 0 :(得分:1)

set是一个保留字,所以需要像下面这样逃避。此外,请不要使用任何保留字(或)关键字作为表格列名。

SELECT DISTINCT `set` FROM trail ORDER BY category