2011-10-25 23 views
1
曖昧查詢

我試圖創建一個顯示內容的塊,但我得到這個錯誤:列字段列表「NID」是Drupal6

user warning: Column 'nid' in field list is ambiguous query: SELECT nid, title FROM node nd LEFT JOIN content_type_efemerides cte ON (nd.nid = cte.nid) WHERE type = '0' AND field_efemerides_fecha_value = '1' in D:\Webserver\htdocs\intranet\sites\all\modules\efemerides_form\efemerides_form.module on line 12. 

線12有這樣的代碼:

8 $today = getdate(); 
9 $type = "efemerides"; 
10 
11 $query = "SELECT nid, title FROM {node} nd LEFT JOIN {content_type_efemerides} cte ON (nd.nid = cte.nid) WHERE type = '%d' AND field_efemerides_fecha_value = '%d'"; 
12 $query_result = db_query($query, $type, $today); 

回答

4

的在你的SELECT語句nid是模糊的(如錯誤消息狀態),你只需要使用一個表的別名來限定它:

$query = "SELECT nd.nid, nd.title FROM {node} nd LEFT JOIN {content_type_efemerides} cte ON (nd.nid = cte.nid) WHERE type = '%s' AND field_efemerides_fecha_value = '%s'"; 

而且字符串替換,都應使用%s代替%d%d是針對小數)

+0

謝謝,我所做的更改,你建議,但仍然沒有工作做,不顯示錯誤dissapear但數據。這是函數:[link](http://pastebin.com/JigwJEeX)有什麼問題?爲什麼我無法從數據庫中獲取數據?也感謝您的回覆 – ReynierPM