专栏“nid”在 Drupal6 中,字段列表中的查询不明确

发布于 2024-12-11 23:29:52 字数 688 浏览 0 评论 0原文

我正在尝试创建一个用于显示内容的块,但收到此错误:

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

I'm trying to create a block for display content but I'm getting this error:

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.

Line 12 have this code:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

野鹿林 2024-12-18 23:29:52

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 代表小数)

The nid in your select statement is ambiguous (as the error message states), you just need to qualify it with a table alias:

$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'";

Also string replacements should be done using %s instead of %d (%d being for decimals)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文