Проверьте строку, чтобы убедиться, что она находится в определенном диапазоне - PullRequest
0 голосов
/ 07 ноября 2011

У меня есть ряд идентификаторов оборудования, которые существуют в таблице MySQL, которые имеют следующий формат

a01
a02
a03
b01
b03
b04

etc...

Я извлекаю это значение из строки запроса, используя $_GET, а затем запрашиваюDB.

Как мне проверить его, чтобы убедиться, что он входит в диапазон существующих идентификаторов?

1 Ответ

0 голосов
/ 07 ноября 2011

Поскольку вы используете MySQL, вы можете написать запрос так, чтобы он проверял, что данный идентификатор оборудования находится в пределах идентификаторов оборудования в вашей таблице. Поскольку вы написали $ _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, который может обрезать ваш вызов и отправить другой запрос.

Вот документы для реальной escape-строки mysql, если вам интересно: http://php.net/manual/en/function.mysql-real-escape-string.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...