From 8dc1175dc27ef06bdab85b5547ed8c03c736484e Mon Sep 17 00:00:00 2001 From: vista-man <524715@vistacollege.nl> Date: Thu, 27 Mar 2025 09:18:38 +0100 Subject: [PATCH] Improve error handling in competitors data fetching; ensure JSON responses and display error messages on failure --- v2/error_log.txt | 316 ----------------------------------------- v2/get-competitors.php | 42 +++--- v2/index.html | 3 + v2/pokemon.js | 24 +++- 4 files changed, 45 insertions(+), 340 deletions(-) diff --git a/v2/error_log.txt b/v2/error_log.txt index db8337c..e69de29 100644 --- a/v2/error_log.txt +++ b/v2/error_log.txt @@ -1,316 +0,0 @@ -Executing query: SELECT user_id, COUNT(pokemon_id) AS pokemon_count - FROM user_pokemon - GROUP BY user_id - ORDER BY pokemon_count DESC -Executing query: INSERT INTO pokemon (id, name, height, weight, base_experience, species_url, image_url) - VALUES (1, '1', 1, 1, 1, '1', '1') -Executing query: SELECT user_id, COUNT(pokemon_id) AS pokemon_count - FROM user_pokemon - GROUP BY user_id - ORDER BY pokemon_count DESC -Executing query: INSERT INTO pokemon (id, name, height, weight, base_experience, species_url, image_url) - VALUES (1, '1', 1, 1, 1, '1', '1') -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id -Executing query: SELECT user_id, COUNT(pokemon_id) AS pokemon_count - FROM user_pokemon - GROUP BY user_id - ORDER BY pokemon_count DESC -Executing query: SELECT p.*, s.flavor_text, GROUP_CONCAT(t.name) AS types, GROUP_CONCAT(a.name) AS abilities, st.hp, st.attack, st.defense, st.sp_attack, st.sp_defense, st.speed - FROM pokemon p - LEFT JOIN species s ON p.id = s.pokemon_id - LEFT JOIN pokemon_types pt ON p.id = pt.pokemon_id - LEFT JOIN types t ON pt.type_id = t.id - LEFT JOIN pokemon_abilities pa ON p.id = pa.pokemon_id - LEFT JOIN abilities a ON pa.ability_id = a.id - LEFT JOIN stats st ON p.id = st.pokemon_id - WHERE p.id = 1 AND p.deleted = 0 - GROUP BY p.id diff --git a/v2/get-competitors.php b/v2/get-competitors.php index 21e93da..c632464 100644 --- a/v2/get-competitors.php +++ b/v2/get-competitors.php @@ -17,30 +17,38 @@ $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { logMessage("Connection failed: " . $conn->connect_error); - die("Connection failed: " . $conn->connect_error); + header("Content-Type: application/json"); + http_response_code(500); + echo json_encode(["error" => "Database connection failed"]); + exit; } header("Cache-Control: max-age=86400"); // Cache for 24 hours header("Content-Type: application/json"); // Ensure JSON response -// Fetch competitors data -$sql = "SELECT user_id, COUNT(pokemon_id) AS pokemon_count - FROM user_pokemon - GROUP BY user_id - ORDER BY pokemon_count DESC"; -logMessage("Executing query: $sql"); -$result = $conn->query($sql); +try { + // Fetch competitors data + $sql = "SELECT user_id, COUNT(pokemon_id) AS pokemon_count + FROM user_pokemon + GROUP BY user_id + ORDER BY pokemon_count DESC"; + logMessage("Executing query: $sql"); + $result = $conn->query($sql); -if ($result) { - $competitors = []; - while ($row = $result->fetch_assoc()) { - $competitors[] = $row; + if ($result) { + $competitors = []; + while ($row = $result->fetch_assoc()) { + $competitors[] = $row; + } + logMessage("Query result: " . json_encode($competitors)); + echo json_encode($competitors); + } else { + throw new Exception("Error executing query: " . $conn->error); } - logMessage("Query result: " . json_encode($competitors)); - echo json_encode($competitors); -} else { - logMessage("Error executing query: " . $conn->error); - echo json_encode(["error" => "Error fetching competitors data"]); +} catch (Exception $e) { + logMessage("Exception: " . $e->getMessage()); + http_response_code(500); + echo json_encode(["error" => "An error occurred while fetching competitors data"]); } $conn->close(); diff --git a/v2/index.html b/v2/index.html index 476e9ca..af67da5 100644 --- a/v2/index.html +++ b/v2/index.html @@ -12,6 +12,9 @@
+