gpt4 book ai didi

php - 有没有更有效的方法来编写这 4 个 MYSQL 查询以使用更少的查询?

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:05 25 4
gpt4 key购买 nike

我当前的查询。我可以将它们组合得更少以获得相同的结果吗?我正在尝试将有关路径的特定信息放入名为 $trail 的数组中。

$result = mysql_query("SELECT meta_value FROM wp_postmeta WHERE `post_id` = $id AND `meta_key` = 'location_city' ");
$result = mysql_fetch_array($result);
$trail[city] = $result[0];

$result = mysql_query("SELECT meta_value FROM wp_postmeta WHERE `post_id` = $id AND `meta_key` = 'length' ");
$result = mysql_fetch_array($result);
$trail[length] = $result[0];

$result = mysql_query("SELECT meta_value FROM wp_postmeta WHERE `post_id` = $id AND `meta_key` = 'location_state' ");
$result = mysql_fetch_array($result);
$trail[state] = $result[0];

$result = mysql_query("SELECT meta_value FROM wp_postmeta WHERE `post_id` = $id AND `meta_key` = 'difficulty' ");
$result = mysql_fetch_array($result);
$trail[difficulty] = $result[0];

$result = mysql_query("SELECT guid FROM wp_posts WHERE `post_parent` = $id AND `post_type` = 'attachment' ");
$result = mysql_fetch_array($result);
$trail[image] = $result[0];

最佳答案

这将适用于元值:

SELECT meta_value, meta_key
...
WHERE (post_id = $id) AND (meta_key IN ('location_city', 'length', ...)

guid 查询最好单独运行。如果您坚持减少到单个查询调用,那么联合就可以了

SELECT 'meta' AS source, meta_value, meta_key
WHERE ...

UNION ALL

SELECT 'guid' AS source, guid, null
FROM ...
WHERE post_parent = $id and post_type = 'attachment'

然后使用这个派生的“源”字段来确定哪些值属于哪里。

关于php - 有没有更有效的方法来编写这 4 个 MYSQL 查询以使用更少的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14465653/

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