验证字符串以确保它在特定范围之间

时间:2011-11-07 15:59:18

标签: php validation

我有一系列设备ID存在于MySQL表格中,其格式如下

a01
a02
a03
b01
b03
b04

etc...

我使用$_GET从查询字符串中获取此值,然后查询数据库。

我如何验证它,以确保它符合现有ID的范围?

1 个答案:

答案 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