mysql查询中的语法错误?

时间:2014-08-18 14:04:55

标签: php mysql

我正在尝试为一个简单的网站创建一个非常基本的星级评分系统。我找到了这个教程:Creating 5 Star Rating System With PHP , MySQL ,Jquery And Ajax

然而,当我运行相同的代码时,我不断收到以下错误,没有投票插入数据库:

  

错误:您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第1行'-databaseName.ratings WHERE id ='1''附近使用正确的语法

这是插入评分的页面代码:

<?php
include("settings.php");
connect();
$ids=array(1,2,3);
?>
<html>
<head>
<script src="jquery.js" type="text/javascript"></script>
<link rel="stylesheet" href="rating.css" />
<script type="text/javascript" src="rating.js"></script>
</head>
<body>
<?php
for($i=0;$i<count($ids);$i++)
    {
        $rating_tableName     = 'ratings';
     $id=$ids[$i];
 $q="SELECT * FROM ratings WHERE id='$id'";
$r=mysql_query($q);
echo $q;
if(!$r) echo mysql_error();
$rat = 0;
$v = 1;    // In case there are no records.
while($row=mysql_fetch_array($r))
{
    $v = $row['total_votes'];
    $tv = $row['total_value'];
    $rat = $tv/$v;
}



    $j=$i+1;
    $id=$ids[$i];
echo'<div class="product">
           Rate Item '.$j.'
            <div id="rating_'.$id.'" class="ratings">';
                for($k=1;$k<6;$k++){
                    if($rat+0.5>$k)$class="star_".$k."  ratings_stars ratings_vote";
                    else $class="star_".$k." ratings_stars ratings_blank";
                    echo '<div class="'.$class.'"></div>';
                    }
                echo' <div class="total_votes"><p class="voted"> Rating: <strong>'.@number_format($rat).'</strong>/5 ('.$v. '  vote(s) cast) 
            </div>
        </div></div>';}
?>
</body></html>

我确实尝试了一切我认为可能解决问题但没有任何效果的事情;

我尝试为$id添加反斜杠和单引号,但仍然会抛出该错误。

我也回应了那个页面上提到的$ q,我得到了与该页面上提到的完全相同的东西!

我唯一怀疑的是它没有在错误消息中显示完整的数据库名称。

数据库名称是这样的:CL12-databaseName但是在上面的错误中它将数据库显示为-databaseName并且我不确定它是否会这样做或者是导致错误?

任何帮助将不胜感激。

由于

0 个答案:

没有答案