PHP选择多个表作为数组
我的软件有多个带有选项的表,我想在一个请求(Database postgress,php pdo)中请求它们,并像下面的示例一样返回它们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
--- 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));
}