为学校项目开发数据库。我已经在我的数据库的其他部分使用了以下基本的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'
我已经达到了有效排除故障并解决问题的能力。有人可以帮忙吗?
答案 0 :(得分:4)
您需要将值包装在引号中。这可以解决您的初始问题。但为了避免将来出现问题,请参阅Jay Blanchard的评论。
$sql = "DELETE FROM Rank WHERE RankAbb='" . $_REQUEST["RankAbb"] . "'";