我在从具有特定值的行中查询多个值时遇到问题。如果“ id”等于999,我将使用下面的SQL代码获取“ group_id”列的值。在“ xx_groupmap”表中,id 999出现了3次,每次使用不同的值。下面是我的桌子。

table xx_groupmap
-------------------
id   |  group_id
-------------------
999  |  2
999  |  7
999  |  8


下面是我使用的代码

        $db = JFactory::getDbo();
        $query = "SELECT group_id FROM xx_groupmap WHERE id = '999'";
        $db->setQuery($query);
        $results = $db->loadObjectList();
        foreach ($results as $t) {
        }


所以最后,当我想返回id 999的三个值时,我使用此代码

echo $t->group_id;


但只输出一个数字。如何使用ID为999的三个值构建一个数组?

最佳答案

那是因为,当您进入foreach时,$t始终会更新,并且只会得到最后一个$t。将它们放入数组。

$ids = array();
foreach ($results as $t) {
    $ids[] = $t->group_id;
}
var_dump($ids);

关于php - 表中具有多个值的PHP SQL查询ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26738118/

10-13 00:56