PHP选择多个表作为数组

时间:2017-06-09 09:47:33

标签: php mysql postgresql pdo

我有多个表格,包含我的软件选项,我想在一个请求中请求它们(数据库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个请求并手动组合它们:)

2 个答案:

答案 0 :(得分:0)

执行单个UNION查询。

SELECT * FROM userStatus
UNION ALL
SELECT * FROM customerStatus

行将合并为一个结果集。

答案 1 :(得分:0)

使用多查询下面是一个简单的例子:

$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实现查看PHP PDOStatement: Fetch A Row, as the First Column as the Key of an Array