У меня ТАБЛИЦА НДС, где чаны в большинстве случаев имеют имена со знаком процента в конце, например:
------------------------------------------
ID | Name | Value |
------------------------------------------
1 | VAT 22% | 22 |
2 | VAT 10% | 10 |
3 | VAT 23% | 23 |
4 | VAT 10% IND-50% | 10 |
------------------------------------------
У меня есть функция, которая возвращает true, если имя уже используетсяво время новой вставки (или изменения строки):
function check_name_exist($id, $name) {
if ( $id == "" ) {
$sql = "SELECT Name FROM tax WHERE Name LIKE ?";
try {
$rs = $db->prepare($sql);
$rs->execute(array($name));
$ris = $rs->fetchAll(PDO::FETCH_ASSOC);
} catch(PDOException $e) {
die($e);
}
} else {
$sql = "SELECT Name FROM tax WHERE Name LIKE ? AND ID <> ?";
try {
$rs = $db->prepare($sql);
$rs->execute(array($name, $id));
$ris = $rs->fetchAll(PDO::FETCH_ASSOC);
} catch(PDOException $e) {
die($e);
}
}
if ( count($ris) > 0 )
return true;
return false;
}
Проблема возникает, когда я пытаюсь изменить ID = 2. Это говорит мне, что уже есть строка с "НДС 10%".В этом случае идентификатор строки = 4.
Но ЭТО ОШИБКА.
Как я могу изменить скрипт для манипулирования знаком процента, переданным как символ, а не как подстановочный знак?(Мне нужно создать универсальную функцию также для случаев, когда у меня нет знака процента в имени ... в общем)