我已经得到了一系列存在于MySQL表中的设备id,具有以下格式
a01
a02
a03
b01
b03
b04
etc...
我正在使用$_GET
从查询字符串中抓取此值,然后查询DB。
我该如何验证它,以确保它适合现有id的范围?
由于您使用MySQL,您可以编写查询,以便它检查给定的设备ID是否在表中的设备ID内。既然你写了$_GET,我假设你在PHP中工作。
我假设你正在使用的桌子被称为"设备"。"
$equipment_id = mysql_real_escape_string($_GET['equipment_id']);
$query = 'SELECT COUNT(equipment_id) FROM equipment WHERE equipment_id = '''.$equipment_id.'''';
$result = mysql_query($query);
$ary = mysql_fetch_array($result);
if ($ary[0] == '0') {
// equipment id not in table.
} else {
// equipment id in table.
}
你会注意到我使用mysql_real_escape_string(…)-这将转义MySQL特殊字符,以防止恶意的个人提交SQL,可能会截断你的调用并发送不同的请求。
下面是mysql真实转义字符串的文档,如果你感兴趣:http://php.net/manual/en/function.mysql-real-escape-string.php