false, 'ERROR' => 'query_too_short', 'MESSAGE' => 'Search query must be at least 2 characters.']); } $params = []; $sql = "SELECT ID, Name FROM Businesses WHERE 1=1"; if (is_numeric($query)) { $sql .= " AND ID = ?"; $params[] = (int) $query; } else { $sql .= " AND Name LIKE ?"; $params[] = '%' . $query . '%'; } if ($excludeBusinessID > 0) { $sql .= " AND ID != ?"; $params[] = $excludeBusinessID; } $sql .= " ORDER BY Name LIMIT 20"; $rows = queryTimed($sql, $params); $businesses = []; foreach ($rows as $row) { $businesses[] = [ 'BusinessID' => (int) $row['ID'], 'Name' => $row['Name'], ]; } jsonResponse([ 'OK' => true, 'Count' => count($businesses), 'Businesses' => $businesses, ]);