query("DESCRIBE tariffs"); $columns = $stmt->fetchAll(PDO::FETCH_ASSOC); if (empty($columns)) { echo " ❌ Table 'tariffs' does not exist!\n"; } else { echo " ✅ Table 'tariffs' exists with columns:\n"; foreach ($columns as $col) { echo " - {$col['Field']} ({$col['Type']})\n"; } } echo "\n2. Checking locations table structure:\n"; $stmt = $db->query("DESCRIBE locations"); $columns = $stmt->fetchAll(PDO::FETCH_ASSOC); if (empty($columns)) { echo " ❌ Table 'locations' does not exist!\n"; } else { echo " ✅ Table 'locations' exists with columns:\n"; foreach ($columns as $col) { echo " - {$col['Field']} ({$col['Type']})\n"; } } echo "\n3. Checking gates table structure:\n"; $stmt = $db->query("DESCRIBE gates"); $columns = $stmt->fetchAll(PDO::FETCH_ASSOC); if (empty($columns)) { echo " ❌ Table 'gates' does not exist!\n"; } else { echo " ✅ Table 'gates' exists with columns:\n"; foreach ($columns as $col) { echo " - {$col['Field']} ({$col['Type']})\n"; } } echo "\n4. Checking entry_events table structure:\n"; $stmt = $db->query("DESCRIBE entry_events"); $columns = $stmt->fetchAll(PDO::FETCH_ASSOC); if (empty($columns)) { echo " ❌ Table 'entry_events' does not exist!\n"; } else { echo " ✅ Table 'entry_events' exists with columns:\n"; foreach ($columns as $col) { echo " - {$col['Field']} ({$col['Type']})\n"; } } echo "\n5. Testing query (similar to DailySummaryService):\n"; $testSql = " SELECT DATE(e.event_time) as summary_date, e.location_code, e.gate_code, e.category, COUNT(*) as total_count, COALESCE(t.amount, 0) as tariff_amount FROM entry_events e INNER JOIN locations l ON e.location_code = l.code AND l.is_active = 1 INNER JOIN gates g ON e.location_code = g.location_code AND e.gate_code = g.gate_code AND g.is_active = 1 LEFT JOIN tariffs t ON e.location_code = t.location_code AND e.gate_code = t.gate_code AND e.category = t.category WHERE DATE(e.event_time) = CURDATE() GROUP BY DATE(e.event_time), e.location_code, e.gate_code, e.category, COALESCE(t.amount, 0) LIMIT 1 "; try { $stmt = $db->query($testSql); $result = $stmt->fetch(PDO::FETCH_ASSOC); echo " ✅ Query executed successfully!\n"; if ($result) { echo " Sample result: " . json_encode($result, JSON_PRETTY_PRINT) . "\n"; } else { echo " No data found for today.\n"; } } catch (PDOException $e) { echo " ❌ Query failed: " . $e->getMessage() . "\n"; } echo "\n=== Check Complete ===\n"; } catch (PDOException $e) { echo "Database Error: " . $e->getMessage() . "\n"; exit(1); }