Php 内部联接后的“where子句中的列'id'不明确”?

Php 内部联接后的“where子句中的列'id'不明确”?,php,mysql,Php,Mysql,我有一个select查询,在执行内部联接之前,它一直运行良好 $id = (int) $_GET['id']; $data = mysql_query(" SELECT events.start_datetime, events.EVENT_NAME, events.START_TIME, events.END_TIME, events.VENUE_LOCATION, venues.VENUE_NAME FROM events I

我有一个select查询,在执行内部联接之前,它一直运行良好

$id = (int) $_GET['id'];
$data = mysql_query("
SELECT 
    events.start_datetime, 
    events.EVENT_NAME,
    events.START_TIME,
    events.END_TIME, 
    events.VENUE_LOCATION,
    venues.VENUE_NAME
FROM 
    events 
INNER JOIN venues 
        ON events.VENUE_LOCATION = venues.ID 
WHERE 
    id = ".$id) or die(mysql_error());
$id变量的作用是,查询根据url ie:page.php?id=1从一行加载数据


知道怎么了吗?谢谢

场馆可能也有一个id字段,所以您需要指定events.id,而不仅仅是id,即


场馆可能也有一个id字段,所以您需要指定events.id,而不仅仅是id,即


在WHERE子句中,将id更改为events.id或victions.id,以您的意思为准。不幸的是,MySQL和我都猜不出您指的是哪一个。

在WHERE子句中,将id更改为events.id或victions.id,以您所指的为准。不幸的是,MySQL和我都猜不出你指的是哪一个。

我猜表事件中也有一个列id?如果是这样,名称就不明确了,因为MySQL不知道您谈论的是events.id还是viouses.id。没有将其命名为要选择的列之一并不重要。它存在于多个表中,因此您必须告诉它您真正想要的是哪一个。

我猜表事件中也有一个列id?如果是这样,名称就不明确了,因为MySQL不知道您谈论的是events.id还是viouses.id。没有将其命名为要选择的列之一并不重要。它存在于多个表中,因此您必须告诉它您实际需要哪个表。

您没有为查询指定使用哪个表中的id,并且两个表都有列名id,因此,在where子句中抛出“column'id'不明确”错误。因此,通过将id为的表名放在where子句中来更改查询

Put either WHERE events.id = ... or WHERE venues.id = ...

您没有为查询指定使用哪个表的id,而且两个表都有列名id,因此,它会抛出“where子句中的列'id'不明确”的错误。因此,通过将id为的表名放在where子句中来更改查询

Put either WHERE events.id = ... or WHERE venues.id = ...

如果列名对于单个表不是唯一的,则必须使用表名或表别名(如果适用)对其进行限定。显然,id出现在两个表中。从描述中可以看出,Vincements似乎是添加的表,因此在这里猜测可能需要在WHERE子句中将其限定为events.id。

如果列名不是单个表的唯一名称,则必须使用表名或表别名(如果适用)。显然,id出现在两个表中。从描述来看,这听起来好像是添加的表,因此在这里猜测您可能需要在WHERE子句中将其限定为events.id。

因此,今天我在为我的WordPress插件构建SQL builder类时遇到了此错误。当我试图执行这样的查询时

SELECT ID,post_author,user_login,post_title,user_login,user_email FROM wp_users INNER JOIN wp_posts USING (post_title)
我在身份证上犯了一些错误,所以我做了一些研究,发现了问题所在

我试图连接的两个表都有一个名为ID的列,由于我没有指定特定的列,MYSQL对我要从哪个表中选择感到困惑


因此,一旦我用wp_post.ID或wp_users.ID替换了ID,错误就消失了。

所以今天我在为我的WordPress插件构建SQL builder类时遇到了这个错误。当我试图执行这样的查询时

SELECT ID,post_author,user_login,post_title,user_login,user_email FROM wp_users INNER JOIN wp_posts USING (post_title)
我在身份证上犯了一些错误,所以我做了一些研究,发现了问题所在

我试图连接的两个表都有一个名为ID的列,由于我没有指定特定的列,MYSQL对我要从哪个表中选择感到困惑

因此,一旦我将ID替换为wp_post.ID或wp_users.ID,错误就消失了。

将events.ID=。。。或者在WHERE ventions.id=…中放置events.id=。。。或者在其中viouses.id=。。。