我得到了下面列出的错误,我想知道如何解决这个问题。
Not unique table/alias: 'grades'
这是我认为给我带来问题的代码。
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;
}
}
发布于 2010-01-16 20:43:56
问题似乎出在这里:
SELECT COUNT(*)
FROM grades
JOIN grades ON grades.id = articles_grades.grade_id
WHERE articles_grades.users_articles_id = '$page'"
您正在尝试将表grades连接到表本身。你可能是想加入articles_grades。
发布于 2010-01-16 20:48:29
这是因为在查询中有两次表名为grades
发布于 2010-01-16 20:46:28
我认为在$sql2查询中,第二个表不是grades,而是article_grades。因此,它将是:
"SELECT COUNT(*)
FROM grades
JOIN articles_grades ON grades.id = articles_grades.grade_id
WHERE articles_grades.users_articles_id = '$page'"
https://stackoverflow.com/questions/2077355
复制相似问题