删除错误:'where子句'中的未知列

时间:2014-11-21 18:50:42

标签: php mysql sql-server

为学校项目开发数据库。我已经在我的数据库的其他部分使用了以下基本的PHP代码行(成功修改了其他表和值):

$sql = "DELETE FROM Rank WHERE RankAbb=" . $_REQUEST["RankAbb"];

表名是Rank 列名是RankAbb RankAbb中的值是VARCHAR(10)

到目前为止,这行代码对CHAR和INT值起作用。

我在每个元组旁边都有一个超链接的“删除”按钮,您可以在其中单击该链接,它会引用此代码,并从表中删除它。

RankAbb PayGrade FullRank
1stLt O-2中尉DELETE EDIT

如果我点击DELETE链接,我会收到以下错误:

  

错误:DELETE FROM Rank WHERE RankAbb = 1stLt   'where子句'中的未知列'1stLt'

我已经达到了有效排除故障并解决问题的能力。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

您需要将值包装在引号中。这可以解决您的初始问题。但为了避免将来出现问题,请参阅Jay Blanchard的评论。

$sql = "DELETE FROM Rank WHERE RankAbb='" . $_REQUEST["RankAbb"] . "'";