2015-02-07 26 views
1
<?php 
$cid=$_REQUEST['cn']; 
$sid=$_REQUEST['sn']; 
$query="select name,NAME from products a,category b where a.category_id=$cid and a.store_id=$cid and a.category_id=b.ID "; 

$result= mysqli_query($link, $query)or die(mysqli_error($link)); 
?> 

我編寫簡單的程序,它顯示以下錯誤。如果我提到名稱爲products.name,那麼它會顯示未知的列products.name。字段列表中的列'name'含糊不清

主要錯誤是在字段列表列「名」不明確

+0

此查詢完美工作 $ query =「從tbemployee a,tbdep b,tbdsg c選擇empno,ename,eadd,esal,edno,edsgcod,dname,dsgnam,其中a.edno = b.dno和a。 edsgcod = c.dsgcod「; – 2015-02-07 21:01:14

+0

試試'a.name,b.name' – 2015-02-07 21:16:02

回答

1

你需要預先選定列,因爲你正在做在包含具有相同的名稱如:

select a.name as prod_name,b.NAME as cat_name 
from products a,category b 
    where a.category_id=$cid 
    and a.store_id=$cid 
    and a.category_id=b.ID 
列多個表的查詢
+0

謝謝..正在工作。但爲什麼我們需要這個,。以及爲什麼該查詢正在perfetcly運行,我提到 – 2015-02-07 21:05:40

+0

我想這是因爲您選擇了所有表之間不共享的列。如果在產品和類別中都有名爲「name」的列,則會成爲問題 - 定義會變得模糊不清。如果這些列被命名爲例如。 「p_name」和「c_name」這個問題就不存在了。 – castor 2015-02-07 21:07:33

+0

和另一個問題...爲什麼城市名稱在城市名稱運行時發生錯誤 – 2015-02-07 21:08:00