Mysql 如何从子查询中获取值

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>

在这里,我想使用当前表中的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>
     <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