Столбец 'nid' в списке полей является неоднозначным запросом в Drupal6 - PullRequest
1 голос
/ 25 октября 2011

Я пытаюсь создать блок для отображения содержимого, но я получаю эту ошибку:

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);

1 Ответ

4 голосов
/ 25 октября 2011

Значение 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 для десятичных знаков)

...