Php 验证字符串以确保其位于特定范围之间

Php 验证字符串以确保其位于特定范围之间,php,validation,Php,Validation,我有一系列设备ID,它们存在于MySQL表中,具有以下格式 a01 a02 a03 b01 b03 b04 etc... 我使用$\u GET从查询字符串中获取这个值,然后查询数据库 如何验证它,以确保它符合现有ID的范围?因为您使用的是MySQL,所以可以编写查询,以便它检查给定的设备ID是否在表中的设备ID内。既然您已经编写了$\u GET,我假设您正在使用PHP 我假设你正在使用的桌子叫做设备 $equipment_id = mysql_real_escape_string($_GET

我有一系列设备ID,它们存在于MySQL表中,具有以下格式

a01
a02
a03
b01
b03
b04

etc...
我使用$\u GET从查询字符串中获取这个值,然后查询数据库


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

因为您使用的是MySQL,所以可以编写查询,以便它检查给定的设备ID是否在表中的设备ID内。既然您已经编写了$\u 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\u real\u escape\u string…-这将转义MySQL特殊字符,以防止恶意个人提交可能截断您的呼叫并发送不同请求的SQL


以下是mysql real escape string的文档,如果您感兴趣的话:

ID的范围是什么?根据ID的格式,您可能需要拆分它们并验证其中的部分。范围中的某些值可能会丢失?这个名单可以更新吗?如果是,对DB的查询对我来说似乎是最简单的方式。