gpt4 book ai didi

php - 查询 6 个表无法从主表回显信息

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

我想在我的mysql数据库中查询6个独立的表,结构如下;

item
itemitemid | item | description | brand | date | time | path |

actor
actoractorid | name | actorthumb | bio |

brand
brandbrandid | brandname | description | image |

movie
moviemovieid | title | genre | year | moviethumb | synopsis|

users
userid | name | surname | email | password |

request
requestid | userid | itemid | brandid | movieid | actorid | content | requestdate |

例如,使用以下查询,我可以在 requestid=1 的位置显示我可以在请求中看到电影、电影中的 Actor 、他们穿的衣服及其品牌。

$requestid = mysql_real_escape_string($_GET['requestid']);
$query = "select r.requestid, m.*, a.*, i.*, b.*
FROM request r INNER JOIN movie m ON m.movieid = r.movieid
INNER JOIN actor a ON a.actorid = r.actorid
INNER JOIN item i ON i.itemid = r.itemid
INNER JOIN brand b ON b.brandid = r.brandid
WHERE r.requestid = $requestid";

但是,当我尝试从请求表中回显“内容”和“请求日期”时。数据根本就没有出现。我也无法从用户表中获取信息,例如用户通过添加以下连接来记录请求;$query = "select r.requestid, m., a., i., b., u.*INNER JOIN 用户 u ON u.userid = r.userid

请指教?

最佳答案

您没有SELECT那些字段。现在,您只是从 requests 表中SELECTing r.requestid。您需要添加对要回显的每个字段的引用。

就用户加入而言,您似乎只是在错误的领域加入。您需要加入 u.userid = r.userid。现在,您正在加入不存在的 u.itemid。您还需要更改您的 SELECT 语句以报告您想要的字段(例如 SELECT ... , u.name, u.email)。

顺便说一句,您应该尽可能避免SELECTing table.*。当您向表中添加字段但在处理查询结果时不考虑这一点时,这可能会破坏事情。您应该尽量明确,SELECT 只选择您要使用的字段 - 例如SELECT users.name, users.email 而不是 SELECT users.*

关于php - 查询 6 个表无法从主表回显信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7099715/

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