来自行中具有多个值的表的 PHP SQL 查询 ID

标签 php mysql

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

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 SQL 查询 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26738118/

相关文章:

php - PHP 中的 Object.hasOwnProperty.call(object, key)

php - 查询延迟返回一篇文章

使用 LIMIT 选项优化 MySQL RAND()

mysql - 如何频繁同步市场数据并显示为历史时间序列数据

PHP变量为.sql,压缩然后下载

php - Laravel 4 - 执行 artisan :migrate 时出现 fatal error

php - 通过键获取数组的某些元素

mysql - 使用 group by 时 SQL 查询无法运行

mysql - 由 PAGE_CHECKSUM 引起的错误 1064 (42000)

mysql - 优化多对多关系的查询以搜索不相关的标签