1

我正在尝试添加一个部分,显示个人是否赢得了任何年终奖。我有任何冠军和预备队冠军表现得很好。但是,当我添加“年终奖”部分时,我不断收到此错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以yearend在第 1 行的“show = ORDER BY year DESC”附近使用正确的语法

我玩过撇号,使用 LIKE 语句,删除 ORDER BY 以及我能想到的任何东西,但我不知所措。我似乎无法弄清楚会导致错误的工作语句发生了什么变化。

这工作得很好

<?php
$id = $_GET['id']; //Gets the ID from the URL
$result = mysql_query("SELECT * FROM competition 
WHERE id = $id 
AND place = 'CH' 
ORDER BY year DESC") or die(mysql_error());

while($row = mysql_fetch_array($result)){
echo $row['class'];
echo "<small>(";
echo $row['show'];
echo ")</small><br>";
}
?>


这不起作用 我在下面所做的唯一更改是地方=现在显示=

<?php
$id = $_GET['id']; //Gets the ID from the URL
$result = mysql_query("SELECT * FROM competition 
WHERE id = $id 
AND show = 'yearend' 
ORDER BY year DESC") or die(mysql_error());

while($row = mysql_fetch_array($result)){
echo $row['class'];
echo "<br>"; 
} 
?>
4

1 回答 1

2

SHOW是 MySQL 中的保留字。您必须将其带入反引号或更好,但不要使用保留字作为列名,而只需重命名该列。从长远来看,它将为您节省时间和头发。

改变

AND show = 'yearend'

AND `show` = 'yearend'
    ^    ^
于 2013-10-02T03:22:01.917 回答