PHP选择多个表作为数组

PHP选择多个表作为数组,php,mysql,postgresql,pdo,Php,Mysql,Postgresql,Pdo,我的软件有多个带有选项的表,我想在一个请求(Database postgress,php pdo)中请求它们,并像下面的示例一样返回它们 --- table userStatus --- -- id -- -- name -- 1 loggedIn 2 loggedOut --- table customerStatus --- -- id -- -- name -- 1 active 2

我的软件有多个带有选项的表,我想在一个请求(Database postgress,php pdo)中请求它们,并像下面的示例一样返回它们

--- table userStatus ---
-- id --     -- name --
    1         loggedIn
    2         loggedOut

--- table customerStatus ---
-- id --     -- name --
    1         active
    2         nonActive
响应的格式应如下所示:

O => 
  userStatus=>
    1 = loggedIn,
    2 = loggedOut
  customerStatus =>
    1 = active,
    2 = nonActive
尝试了不同的获取方法,但没有找到解决方案。最后,我现在完成了20个请求并手动组合它们:)

执行单个查询


行将组合在一个结果集中。

对其使用多查询下面是一个简单的示例:

$query  = "SELECT * from userStatus;";
$query .= "SELECT * from customerStatus";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

如果您想将第一列作为键,您可以使用pdo实现,请查看

您可以尝试使用多查询,Ty将尝试在pdo中找到一个等价项。是否可以将select的结果存储为数组,其中第一列是索引?@Doomenik您还需要在php端执行一些管理操作array@AhmedGinani我只是觉得选择一个表作为一个表是没有问题的array@Doomenik我认为您正在寻找$q->fetchAll(PDO::FETCH\u KEY\u PAIR);这是行不通的,不是所有的表都有相同数量的列,它仍然会将它们作为多个行集返回,而不是按表组合。我将尝试一下。非常感谢。
$query  = "SELECT * from userStatus;";
$query .= "SELECT * from customerStatus";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}