Mysql 如何从子查询中获取值
在这里,我想使用当前表中的id从另一个表中获取用户名Mysql 如何从子查询中获取值,mysql,sql,Mysql,Sql,在这里,我想使用当前表中的id从另一个表中获取用户名 $sql = "SELECT product_name,product_category,product_image_url,product_proposed_user_id FROM product_list"; while($row = $result->fetch_assoc()) { echo "<tr> <td>". $row["product_name"]."</td>
$sql = "SELECT product_name,product_category,product_image_url,product_proposed_user_id
FROM product_list";
while($row = $result->fetch_assoc()) {
echo "<tr>
<td>". $row["product_name"]."</td>
<td>
<a href=''><span class='glyphicon glyphicon-remove'></span>Remove</a>
</td>
<td>
<a href='edit-product.php'><span class='glyphicon glyphicon-edit'></span>Edit</a>
</td>
</tr>";}
$sql=“选择产品名称、产品类别、产品图片url、产品建议用户id”
从产品列表中”;
而($row=$result->fetch_assoc()){
回声“
“$row[“产品名称”]”
";}
在这里,我从表中获取详细信息。我在这个查询中也有用户id,但我想做的是将用户id引用到users
表中,获取该id的用户名并打印值
我该怎么做?如何使用子查询来执行此操作?我看不出您在哪里执行查询字符串,您的代码应该如下所示:
$sql = "SELECT product_name,product_category,product_image_url,product_proposed_user_id
FROM product_list";
$result =$mysqli->query($sql);
while($row = $result->fetch_assoc()) {
echo "<tr><td>". $row["product_name"].
"</td><td><a href=''><span class='glyphicon glyphicon-remove'></span>
Remove</a></td><td><a href='edit-product.php'>
<span class='glyphicon glyphicon-edit'></span>Edit</a></td></tr>";
}
您可以对用户表使用
join
:
$sql = "SELECT product_name,product_category,product_image_url,
product_proposed_user_id,u.user_name
FROM product_list pl
INNER JOIN users u on u.id = pl.product_proposed_user_id";
实际上,您需要的是用户表的连接(以获取名称): 使用此选项(您可能需要根据具体情况替换“users”表名和“first/last_name”列): 然后在PHP代码中根据需要使用名字和姓氏
$sql = "SELECT product_name,product_category,product_image_url,
product_proposed_user_id,u.user_name
FROM product_list pl
INNER JOIN users u on u.id = pl.product_proposed_user_id";
SELECT product_name,product_category,product_image_url,product_proposed_user_id,
users.first_name, users.last_name
FROM product_list
LEFT JOIN users
ON product_list.product_proposed_user_id = users.user_id