内部连接适用于 *,但不适用于单个字段


INNER JOIN works with * but not with a single field

如果我在PHP中使用以下行,MySQL查询工作得很好:

$query = "
SELECT * 
  FROM customers_1 
  JOIN customers_2 
    ON customers_1.id = customers_2.cus_id;
";

但是当我尝试只获取两个这样的单个字段时:

$query = "
SELECT customers_1.product,customers_1.id
  FROM customers_1 
  JOIN customers_2 
    ON customers_1.id = customers_2.cus_id;
";

它根本不起作用,意味着我没有得到任何输出。当我复制并粘贴第二个查询并将其放入 PHPMyAdmin 时,它工作得很好。

我之后做的是这样的:

$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
    if($row['id']=="3")
    {
        foreach($row as $field)
        {
            echo $field;
        }
    }
}
mysql_close($dbhandle);

因为代码中没有任何内容$row['id']因为您只是从查询SELECT customers_1.product.. fetch one column,并且该列是product

而且不需要循环foreach.您只需在单个 while 循环中获取值

更新

了问题更新后的答案

while ($row = mysql_fetch_array($result)) {
            if (!empty($row['id'])) {
                echo $row['id'];
            }
        }

注意:- Mysql 已弃用,而是使用 mysqli 或 PDO

您在

查询检索customers_1.product时正在比较代码中的id

相关文章: