INNER JOIN适用于*但不适用于单个字段

时间:2016-01-22 12:23:47

标签: 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 
    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);

2 个答案:

答案 0 :(得分:1)

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

并且不需要foreach循环。你只需在单个循环中获得价值

更新问题后更新的答案

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

注意: - 不推荐使用Mysql而是使用mysqli或PDO

答案 1 :(得分:0)

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