0

我收到此错误可以帮助我吗?

“on 子句”中的未知列“id.state”

这是我的代码:

$sql = mysql_query("SELECT `fam_crimes`.`id`, `starter_id`, `num_dlns`, `deelnemers`,  `state`, `state_id`, `misdaad` FROM `fam_crimes`
LEFT JOIN `gameStates` ON (`id`.`state`=`state`.`fam_crimes`)
WHERE `family_id`=".$famID." ORDER BY `id` ASC ")or die(mysql_error());
4

2 回答 2

1

首先,为了便于阅读,让我们重新编写它。

$sql = mysql_query(
  "SELECT `fam_crimes`.`id`,
               `starter_id`,
                 `num_dlns`,
               `deelnemers`,
                    `state`,
                 `state_id`,
                  `misdaad`
   FROM `fam_crimes`
   LEFT JOIN `gameStates` ON (`id`.`state`=`state`.`fam_crimes`)
   WHERE `family_id`=".$famID." ORDER BY `id` ASC ")
or die(mysql_error());

现在看看那里的第 10 行。正如@Kan 所说,查询中没有id表。

所以我来做个猜测!将第 10 行更改为:

LEFT JOIN `gameStates` ON (`fam_crimes`.`state_id`=`gameStates`.`id`)

祝你好运,除非这个答案是一个非常幸运的猜测,否则你必须发布你的表的描述(哪些列在fam_crimesgameStates?)。

于 2013-08-09T15:49:53.213 回答
0

id应该是表名,state应该是列名。查询中没有表id

我认为它应该是这样的:

SELECT `fam_crimes`.`id`, `starter_id`, `num_dlns`, `deelnemers`,  `state`, `state_id`, `misdaad`
 FROM `fam_crimes`
 LEFT JOIN `gameStates` ON (`gameStates`.`id`=`fam_crimes`.`state`)
WHERE `family_id`...
于 2013-08-09T15:43:22.090 回答