gpt4 book ai didi

php - mysql查询数组里面的数组

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

首先抱歉我糟糕的英语...但我有一些问题需要一些建议

我如何在一个查询中从数据库中获取数据?是否可以从数据库中获取数组,在主数组中获取另一个数组?

表结构:

user_post - 
id int(12) AI unique
uid int(12)
content text

user_image -
filename varchar255
uid int(12)
pid int(12) index
pid->foreign_key user_post.id
ON DELETE CASCADE
ON UPDATE CASCADE

例子:对于每个 user_post 可以包含超过 1 行 user_image 但最多 10 行,我如何选择并将它们全部放在 1 个数组中,这样我就不需要像下面那样运行查询 2 次?

查询 2 次以完成此示例:

$db = new Db('main');
$db->query('SELECT `id`, `uid`, `content` FROM `user_post` WHERE `id` = :id LIMIT 1');
$db->bind(':id', '1'); //Example
$result = $db->single();

$db->query('SELECT `filename`, `uid`, `pid` FROM `user_image` WHERE `pid` = :pid LIMIT 10');
$db->bind(':pid', $result['id']);
$images = $db->resultset();

所以 $images 将包含帖子的所有图像文件名,无论如何要在 1 个查询中完成?

最佳答案

您可以通过 JOIN 在一次查询中完成此操作查看两个表:

SELECT p.id, p.uid, p.content,
i.filename, i.uid, i.pid
FROM user_post AS p
INNER JOIN user_image AS i ON i.pid = p.id
WHERE p.id = :id
LIMIT 10;

关于php - mysql查询数组里面的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18556275/

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