我正在尝试为一个简单的网站创建一个非常基本的星级评分系统。我找到了这个教程: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
并且我不确定它是否会这样做或者是导致错误?
任何帮助将不胜感激。
由于