2016-01-22 42 views
-1

如果我在PHP中使用下面的行的MySQL查询工作完全正常:INNER JOIN与*,但不是一个单一的野外工作

$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时,它工作得很好。因为你只是fetch one column从查询SELECT customers_1.product..

$result = mysql_query($query); 

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

mysql_close($dbhandle); 
+0

检查两个表中是否存在“产品”列。 – Pupil

+2

查询中的id字段($ row ['id'])在哪里? –

+2

mysql_ *扩展在PHP 5.5.0中被弃用。 [MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO_MySQL](http://php.net/manual/en/ref.pdo-mysql.php)扩展应该使用 –

回答

0

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

+0

即时对不起,我编辑原来的这篇文章,并在改变了一个错误,我得到当然ID的课程 – user3877230

1

因为$row['id']是没有在你的代码,并且列product

而且无需foreach循环:

我做什么之后,这是。只要让你的价值在一个while循环

更新答题更新后

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

注: - MySQL是不推荐使用,而不是使用库MySQLi或PDO

+0

即时对不起,我编辑原来的这篇文章,并在改变了一个错误,我得到的字段编号当然 – user3877230