首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL & PHP -表/别名不唯一

MySQL & PHP -表/别名不唯一
EN

Stack Overflow用户
提问于 2010-01-16 20:40:50
回答 3查看 54.3K关注 0票数 21

我得到了下面列出的错误,我想知道如何解决这个问题。

代码语言:javascript
复制
Not unique table/alias: 'grades'

这是我认为给我带来问题的代码。

代码语言:javascript
复制
function getRating(){
$dbc = mysqli_connect ("localhost", "root", "", "sitename");

$page = '3';

$sql1 = "SELECT COUNT(*) 
         FROM articles_grades 
         WHERE users_articles_id = '$page'";

$result = mysqli_query($dbc,$sql1);

if (!mysqli_query($dbc, $sql1)) {
        print mysqli_error($dbc);
        return;
}

$total_ratings = mysqli_fetch_array($result);

$sql2 = "SELECT COUNT(*) 
         FROM grades 
         JOIN grades ON grades.id = articles_grades.grade_id
         WHERE articles_grades.users_articles_id = '$page'";

$result = mysqli_query($dbc,$sql2);

if (!mysqli_query($dbc, $sql2)) {
        print mysqli_error($dbc);
        return;
}

$total_rating_points = mysqli_fetch_array($result);
if(!empty($total_rating_points) && !empty($total_ratings)){
// set the width of star for the star rating
$rating = (round($total_rating_points / $total_ratings,1)) * 10; 
echo $rating;
} else {
    $rating = 100; 
    echo $rating;
}
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-16 20:43:56

问题似乎出在这里:

代码语言:javascript
复制
SELECT COUNT(*) 
FROM grades 
JOIN grades ON grades.id = articles_grades.grade_id
WHERE articles_grades.users_articles_id = '$page'"

您正在尝试将表grades连接到表本身。你可能是想加入articles_grades。

票数 33
EN

Stack Overflow用户

发布于 2010-01-16 20:48:29

这是因为在查询中有两次表名为grades

票数 2
EN

Stack Overflow用户

发布于 2010-01-16 20:46:28

我认为在$sql2查询中,第二个表不是grades,而是article_grades。因此,它将是:

代码语言:javascript
复制
"SELECT COUNT(*) 
         FROM grades 
         JOIN articles_grades ON grades.id = articles_grades.grade_id
         WHERE articles_grades.users_articles_id = '$page'"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2077355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档