gpt4 book ai didi

php - 搜索多个mysql表

转载 作者:行者123 更新时间:2023-11-29 01:30:37 25 4
gpt4 key购买 nike

我目前有这段代码。

            switch($search_topic)
{
case 'Title':
$stmt = $dbh->prepare("SELECT game_id, title, platform_name, author_name, price
FROM games
WHERE title
LIKE :search_term");
break;

case 'Platform':
$stmt = $dbh->prepare("SELECT game_id, title, platform_name, author_name, price
FROM games
INNER JOIN platforms ON games.platform_id = author.platform_id
WHERE platform_name LIKE :search_term");
break;
}

search_topic 变量来自上一个网页上的列表框,Title 搜索工作正常,因为它只是搜索一个 MySQL 表。平台搜索有点困难,因为我正在尝试搜索多个表,如果这有意义的话。

游戏表有一个名为“platform_id”的列,它链接到平台表,其中关键字段链接到它所在的平台。那么我将如何从游戏表中获取“platform_id”并将其链接到“platforms”以便我检索“platform_title”然后使用它进行搜索。

架构:http://sqlfiddle.com/#!2/3d3e3/6

最佳答案

根据您的 fiddle ,这是为您准备的更新:

SELECT g.game_id, g.title, p.platform_name, a.author_name, g.price
FROM games g
INNER JOIN platforms p ON p.platform_id = g.platform_id
INNER JOIN author a ON a.author_id = g.author_id
WHERE g.title LIKE 'Skyrim';

您显然会将 WHERE g.title LIKE 'Skyrim'; 更改为您想要过滤的任何字段。所以平台查询将是:

SELECT g.game_id, g.title, p.platform_name, a.author_name, g.price
FROM games g
INNER JOIN platforms p ON p.platform_id = g.platform_id
INNER JOIN author a ON a.author_id = g.author_id
WHERE p.platform_name LIKE 'Xbox';

我还建议您将 CHARSET 更改为 utf8 而不是 latin1,假设这反射(reflect)了您的生产数据库设置。

关于php - 搜索多个mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14368960/

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