如何基于一列选择多行

时间:2016-03-29 15:15:35

标签: sql arrays sqlite

所以我浏览了互联网,找不到与我的问题有关的任何内容。

这是我的数据库的一部分:

ID  |     English    |    Pun    |  SID   |  Writer   |
=======================================================
1   |      stuff     |   stuff   |   1    |   Full    |
2   |      stuff     |   stuff   |   1    |   Rec.    |
3   |      stuff     |   stuff   |   2    |   Full    |
4   |      stuff     |   stuff   |   2    |   Rec.    |

现在我如何获得SID等于1的所有行。

喜欢这个

ID  |     English    |    Pun    |  SID   |  Writer   |
=======================================================
1   |      stuff     |   stuff   |   1    |   Full    |
2   |      stuff     |   stuff   |   1    |   Rec.    |

或者当我想获得SID等于2的所有行时。

ID  |     English    |    Pun    |  SID   |  Writer   |
=======================================================
3   |      stuff     |   stuff   |   2    |   Full    |
4   |      stuff     |   stuff   |   2    |   Rec.    |

这是我当前使用SQLite的SQL查询:

SELECT * FROM table_name WHERE SID = 1

我只得到第一行,我怎么能得到所有的行?

这是我的PHP代码:

class GurDB extends SQLite3
{
    function __construct()
    {
        $this->open('gurbani.db3');
    }
}

$db = new GurDB();
$mode = $_GET["mode"];

if($mode == "2") {
    $shabadnum = $_GET["shabadNo"];
    $result = $db->query("SELECT * FROM table_name WHERE SID = $shabadnum");
    $array = $result->fetchArray(SQLITE3_ASSOC);
    print_r($array);
}

1 个答案:

答案 0 :(得分:1)

获取数组只给你一行......你想要这样的东西:

while($row = $result->fetch_array())
{
  $rows[] = $row;
}