0 THEN ROUND(CAST((n.outages::FLOAT / n.served) * 100 AS NUMERIC), 2) ELSE 0 END as perout FROM newcountyoutages n, latest_fetch WHERE n.fetch_time = latest_fetch.max_fetch_time AND n.cwa IN ($placeholders) "; $result = pg_query_params($dbconn, $query, $cwas); if ($result === false) { throw new Exception('Query failed: ' . pg_last_error()); } $results = pg_fetch_all($result) ?: []; echo json_encode($results); pg_free_result($result); } catch (Exception $e) { http_response_code(500); echo json_encode(['error' => 'Query execution failed: ' . $e->getMessage()]); } } pg_close($dbconn); ?>