gpt4 book ai didi

php - 查询多个 MySQL 表并将数据编码为 JSON

转载 作者:行者123 更新时间:2023-11-29 14:05:57 26 4
gpt4 key购买 nike

我承认,我对 MySQL 查询或 JSON 不太了解,但我想了解。目前,当我从数据库获取数据时,我会查询一个表,该表将值带入另一个查询,依此类推。我认为这不是接收我需要显示的所有数据的最佳实践。下面是我的 MySQL 查询当前如何在 PHP foreach 函数中工作的示例: enter image description here

那么,有没有更好的方法来完成我想要的查询以及如何将其编码为 JSON?

如有任何帮助,我们将不胜感激,谢谢。

最佳答案

据我了解,您的代码正在执行以下操作:

<?php
$friends = query("SELECT Friends");
while($row = fetch_object($friends)){
$friend_dets = query("SELECT Friend_dets WHERE Friend_ID = $row->Friend_ID");
$output[] = fetch_assoc($friend_dets);
}
echo json_encode($output);
?>

这样一来,您就会使流程变得比实际需要的更加复杂。您可以通过使用 JOIN 的一次查询来获取所需的所有信息,如下所示:

SELECT Name, Status, WhateverElseYouWant
FROM Friends
JOIN Profiles ON (Friends.friend-profile-id = Profiles.profile-id)
WHERE Friends.profile-id = MyCurrentProfileID

这将为您提供 MyCurrentProfileID 的每个好友的姓名、状态和其他信息。然后,您只需将结果放入数组中并对其进行 json_encode 即可:

<?php
$friends = query($QueryFromAbove);
while($row = fetch_object($friends)){
$output[] = fetch_assoc($friend_dets);
}
echo json_encode($output);
?>

关于php - 查询多个 MySQL 表并将数据编码为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14348154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com