SQL - 获取具有相同 ID 的所有行

SQL - Get all rows with same ID

我正在尝试获取具有相同 ID 的所有行, 这是 table:

的示例
Curs_ID     Cursistnr   payed
Excel       2           500
Internet    3           100
C#          2           200

我想从 table 中得到的是 Cursistnr 为 2 的所有内容 所以我需要的是其中的 2 行:

Excel       2           500
C#          2           200

编辑:

好的,让我问一个不同的问题。 这是 table:

curs_code|Cursistnr|cijfer|payed
Internet     50      5     2000.00
Internet     88      7     2000.00
Word         50      9     3300.00
Word         88      9     3300.00
Niam         88      6     850.00

例如,我尝试使用 cursistnr 88 从每一行获取所有内容 所以:

互联网, 88 , 7, 2000.00 尼亚姆, 88, 6, 850.00 单词, 88, 9, 3300.00

如果我尝试 SELECT * FROM c_regel WHERE cursistnr='$id'

我只得到:

array (size=8)
'curs_code' => string 'Internet' (length=8)
0 => string 'Internet' (length=8)
'cursistnr' => string '88' (length=2)
1 => string '88' (length=2)
'cijfer' => string '7' (length=1)
2 => string '7' (length=1)
'betaald' => string '2000.00' (length=7)
3 => string '2000.00' (length=7)

我正在使用的 php 代码:

function cursusDone($magazijn, $id){
  $sql = "SELECT curs_code FROM c_regel WHERE cursistnr='$id'";
  $query = $magazijn->query($sql);
  return $query->fetch();
}

$done = cursusDone($magazijn,$id);
var_dump($done);

我觉得跟sqltable,

有关系

如果我尝试 SELECT * FROM c_regel 我只会得到第一行。 不知道这里有什么问题

SELECT Curs_ID, payed
FROM TAB -- insert your table
WHERE Cursistnr = 2

只需添加基本的 WHERE 语句

SELECT Curs_ID, Cursistnr, payed
FROM yourtable
WHERE Cursistnr = 2

我很确定 $query->fetch(); 只会获取结果的第一行。

如果您可以试试 cursusDone 函数的这个修改版本:

function cursusDone($magazijn, $id){
  $sql = "SELECT curs_code FROM c_regel WHERE cursistnr='$id'";
  $query = $magazijn->query($sql);
  var_dump($query->fetch());
  var_dump($query->fetch());
  //return $query->fetch();
}

这应该将结果集的前两行输出为数组转储。

如果我是对的,你可以遍历 $query->fetch() 直到它 returns false 或一个空数组(取决于你的数据库的内部工作 class)。