【发布时间】:2014-03-15 04:22:32
【问题描述】:
我正在使用 php 和 mysql。当用户单击提交按钮时,GET 查询字符串如下所示:
http://mywebsite.com/category/section?article=1
我这样查询:
"SELECT * FROM
articleWHEREart_id='$article'"
art_id 是一个 int(11) 数据类型,但如果我有正确的数字作为前缀,它会接受一个带有字母的值,例如:http://mywebsite.com/category/section?article=1asd。如果我传递所有字母 (?article=asd),它不会接受,但如果我传递带有字母 (?article=12asd) 的数字,它会接受并返回带有 art_id 的 12 的文章。我怎样才能防止这种情况发生?
我已经在 MySQL 命令行客户端上直接尝试过,它接受带有字母的值。
【问题讨论】:
-
只需去掉语句
art_id='$article'中变量周围的单引号