Я предлагаю вам использовать подготовленные операторы вместо конкатенации строки запроса вместе:
$sql = 'UPDATE
category
SET
name=:name,
description=:description,
parent=:parent,
active=:active
WHERE
id=:catID';
если вы используете PDO , что я настоятельно рекомендую, вы бы назвали его так:
$params = array(
':name' => $name,
':description' => $description,
':parent' => $parent,
':active' => $active,
':catID' => $catID
);
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
Вы можете спросить: "Зачем все это?" Преимущества такого подхода довольно велики:
- Вам не нужно заботиться о внедрении SQL, поскольку драйвер базы данных теперь обрабатывает правильное преобразование входных параметров
- Вам не нужно заботиться о экранировании специальных символов, но вы можете сконцентрироваться на том, чего хотите достичь, а не на том, как этого добиться: -)