【发布时间】:2017-02-04 21:24:01
【问题描述】:
我有三个表 user、product 和 userproduct。
User 有用户个人资料信息,product 有一个主键,userproduct 有两个标题 UserId 和 ProductId 我用来匹配哪个用户拥有什么产品。
userproduct的设置方式如下:
----------------------------------
| UserId (int) | ProductId (int) |
----------------------------------
| 1 | 1 |
----------------------------------
| 1 | 2 |
----------------------------------
我的PHP代码如下:
$userId = 1;
$stmt = $pdo->prepare('SELECT * FROM product join userproduct on product.ProductId = userproduct.UserId where UserId = ?');
$stmt->execute([$userId]);
$products = $stmt->fetchAll();
foreach ($products as $productsOwned)
{
echo $productsOwned['ProductName'];
}
我认为这会回显 Product1, Product2。 但是,它会回显 Product1, Product1。
我已经检查了我的数据库几次,一切似乎都井然有序,但由于我仍在学习 SQL,我认为我在那里犯了一个错误。任何指导将不胜感激。
【问题讨论】: