Php 内部联接适用于*但不适用于单个字段

Php 内部联接适用于*但不适用于单个字段,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,如果我在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

如果我在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']
在您的代码中什么都不是,因为您只需
从查询
中获取一列
,选择客户1.产品..
,而该列就是
产品

而且不需要foreach循环。您只需在单个while循环中获得您的值

更新问题后更新答案

while ($row = mysql_fetch_array($result)) {
            if (!empty($row['id'])) {
                echo $row['id'];
            }
        }
注意:-不推荐使用Mysql,而使用mysqli或PDO


当查询检索客户时,您正在比较代码中的
id
。product

检查两个表中是否都有
product
列。查询中的id字段($row['id'])在哪里?PHP 5.5.0中不推荐使用mysql扩展名。如果($row['id']=“3”)可能没有匹配的行,那么应该使用or扩展。我不是php爱好者,但这看起来有问题。或者,如果
id
应该来自查询,则您没有选择它。请注意,这将为未定义的变量抛出一个错误。在不使用fetch by select语句的情况下使用id有意义吗?第二个选择查询需要获取id.im抱歉我编辑了这篇文章的原件,更改时出错了,我得到了courseim的字段id抱歉我编辑了这篇文章的原件,更改时出错了,我当然得到了字段id