我有一系列设备ID存在于MySQL表格中,其格式如下
a01
a02
a03
b01
b03
b04
etc...
我使用$_GET
从查询字符串中获取此值,然后查询数据库。
我如何验证它,以确保它符合现有ID的范围?
答案 0 :(得分:0)
由于您使用的是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