如何使用PHP查询MySQL中的某些行,然后根据UID为每一行查询另一个基于值的表?

如何使用PHP查询MySQL中的某些行,然后根据UID为每一行查询另一个基于值的表?,php,mysql,sql,join,select,Php,Mysql,Sql,Join,Select,我正在申请销售商品和提供产品。如果用户查看其产品优惠,则必须包含每个优惠信息以及该优惠的每个用户的详细信息。 首先告诉需要查询的数据库,该数据库由ajaxonclick函数激活。(我明白了) 其次,在OFFERS表中查询状态为“o”且PID等于$\u GET['PID'](5)的OFFERS 然后根据每个报价查询用户表中的信息? 之后,对于每个结果,基于UID,查询users表以获取与用户相关的信息 USERS ------------------------------------- | ui

我正在申请销售商品和提供产品。如果用户查看其产品优惠,则必须包含每个优惠信息以及该优惠的每个用户的详细信息。
首先告诉需要查询的数据库,该数据库由ajaxonclick函数激活。(我明白了)

其次,在OFFERS表中查询状态为“o”且PID等于
$\u GET['PID']
(5)的OFFERS

然后根据每个报价查询用户表中的信息? 之后,对于每个结果,基于UID,查询users表以获取与用户相关的信息

USERS
-------------------------------------
| uid |  fname   |  lname  | rating |
-------------------------------------
|  5  |   John   |   Jan   |   4.3  |
|  7  |   Mark   |   Mull  |   4.2  |
-------------------------------------
下面是我的PHP语句的一个片段

$stmt = $conn->prepare('SELECT offerdate,price FROM offers WHERE pid=? AND status=?');
$o = 'o';
$stmt->bind_param('is', $_POST['pid'],$o);
$stmt->execute();
$stmt->bind_result($offerdate,$price);
我需要的另一份声明

$stmt = $conn->prepare('SELECT fname,lname,rating, FROM users WHERE uid=?');
$stmt->bind_param('i', );
$stmt->execute();
$stmt->bind_result($fname,$lname,$rating);

任何帮助都会很棒,谢谢

执行一个连接两个表的查询

SELECT offerdate, price, fname, lname, rating
FROM offers
INNER JOIN users ON users.uid = offers.uid
WHERE offers.pid = ? AND offers.status = ?

您可以通过一个连接在一个查询中获得该结果:

select
    o.offerdate,
    o.price
    u.fname,
    u.lname,
    u.rating
from offers o
inner join users u on u.uid = o.uid 
where o.pid = ? and o.status = ?

这回答了你的问题吗?为什么我使用内部联接而不是左联接?是否存在与
用户不匹配的
offers.uid
?仅当可能不存在匹配项时,才需要
左连接
,但仍需要返回行。
select
    o.offerdate,
    o.price
    u.fname,
    u.lname,
    u.rating
from offers o
inner join users u on u.uid = o.uid 
where o.pid = ? and o.status = ?