prepare("SELECT id FROM inv_categories WHERE name = ? AND id <> ?"); $stmt->execute([$name, $id]); if ($stmt->fetchColumn()) { mnt_json_fail('Esiste già una categoria con questo nome.'); } if ($id > 0) { $stmt = $pdo->prepare(" UPDATE inv_categories SET name = ?, code = ?, color = ?, requires_line = ?, sort_order = ?, is_active = ?, description = ? WHERE id = ? "); $stmt->execute([$name, $code ?: null, $color, $requiresLine, $sortOrder, $isActive, $description ?: null, $id]); mnt_json_ok(['id' => $id]); } $stmt = $pdo->prepare(" INSERT INTO inv_categories (name, code, color, requires_line, sort_order, is_active, description) VALUES (?, ?, ?, ?, ?, ?, ?) "); $stmt->execute([$name, $code ?: null, $color, $requiresLine, $sortOrder, $isActive, $description ?: null]); mnt_json_ok(['id' => (int)$pdo->lastInsertId()]); } catch (Throwable $e) { mnt_json_fail('Errore: ' . $e->getMessage()); }