使用返回多个结果的PHP从2个表中获取记录
我有两张桌子。一个叫使用返回多个结果的PHP从2个表中获取记录,php,mysql,Php,Mysql,我有两张桌子。一个叫local\u requestors,一个叫local\u aid。它们都有不同的数据集,但它们都共享一列,local\u requestors中名为suser\u scheme的列与local\u aid表中名为scheme\u id的列相同 我想查询我的表以从local\u requestors表中获取所有数据,其中ID与local\u aid表中的行匹配 我使用了以下方法 $stmt = $conn->prepare('SELECT *
local\u requestors
,一个叫local\u aid
。它们都有不同的数据集,但它们都共享一列,local\u requestors
中名为suser\u scheme
的列与local\u aid
表中名为scheme\u id
的列相同
我想查询我的表以从local\u requestors
表中获取所有数据,其中ID
与local\u aid
表中的行匹配
我使用了以下方法
$stmt = $conn->prepare('SELECT *
FROM local_requestors
INNER JOIN local_aid
WHERE local_requestors.user_scheme=local_aid.scheme_id
AND local_requestors.id = :aid_id');
$stmt->execute(['aid_id' => $user_id]);
while($row = $stmt->fetch()) {
echo '<p>' . $row['user_name'] . '</p>';
}
不管我怎么做,我总是从local\u requestors
表中得到相同的行,重复大约10次
我的目标是从
local\u-aid
打印记录中的用户名称,并从local\u-requestors
打印大量相关记录
echo 'Hello ' . $aid_name . ', there is ' . $rowCount . ' people that need help in your area.;
我想你可能有点害怕
SELECT *
FROM local_requestors
INNER JOIN local_aid ON local_requestors.user_scheme=local_aid.scheme_id
WHERE local_requestors.id = :aid_id
根据您对所需内容的描述,您可能需要
左连接
而不是内部连接
谢谢@riggsfully,我已经尝试过了,但仍然得到了非常奇怪的结果。我已经更改了循环,使用$row['user\u name']显示local\u-aid
中的人员姓名,但我只是将所有用户都放在该表中。我应该从本地援助获得1个用户,并从本地请求者表中获得所有相关记录的计数……Liam,请参阅修改后的答案
SELECT *
FROM local_requestors
INNER JOIN local_aid ON local_requestors.user_scheme=local_aid.scheme_id
WHERE local_requestors.id = :aid_id