php mysqli错误:where子句中的列'id'是不明确的Statement

时间:2015-08-20 10:05:48

标签: php mysql

我有两个表类别名称和帖子。现在我需要为每个帖子显示类别名称,如下所示:

to

结果我看到了这个错误:

$joinedcontent = Access::FETCH("SELECT * FROM " . CONTENT . " LEFT JOIN " . POST . " ON category = id WHERE id = ?", $row['id']); $ccats= $joinedcontent[0]['name'];

如何修复此错误?

2 个答案:

答案 0 :(得分:1)

对于数据库而言,这是一个歧义,即" id" where子句中指定的列属于哪个表。内容还是发布?您必须在列名称之前指定表的名称以标识它。例如:

$joinedcontent = Access::FETCH("SELECT * FROM " . CONTENT . 
" LEFT JOIN " . POST . "  ON category =  " . POST . ".id WHERE  " . POST . ".id = ?", $row['id']);
$ccats= $joinedcontent[0]['name'];

答案 1 :(得分:0)

可能是其他表中可用的相同列。所以请使用table.column来避免冲突列(ambigity)