PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ]; try { $pdo = new PDO($dsn, $user, $pass, $options); } catch (PDOException $e) { http_response_code(500); echo json_encode(['error' => 'Database connection failed: ' . $e->getMessage()]); exit; } // Überprüfe, ob der Parameter "q" übergeben wurde if (!isset($_GET['q'])) { http_response_code(400); echo json_encode(['error' => 'Missing query parameter "q".']); exit; } // Den Query-Parameter auslesen und URL-dekodieren $q = $_GET['q']; $q_decoded = urldecode($q); // Erwartetes Format: "from:username#hashtag" // Beispiel: "from:silvesterhasani#bevysionary" if (preg_match('/^from:([^#]+)#(.+)$/i', $q_decoded, $matches)) { $username = $matches[1]; $hashtag = $matches[2]; } else { http_response_code(400); echo json_encode(['error' => 'Invalid query format. Expected format: "from:username#hashtag".']); exit; } // SQL-Abfrage: Finde alle findings, die zum extrahierten username und hashtag passen $sql = "SELECT h.hashtag, f.post_id, f.created_at, f.in_reply_to_id, f.replies_count, f.reblogs_count, f.favorites_count, f.acc_id, f.username, f.acct FROM findings f JOIN hashtags h ON f.hashtag_id = h.hashtag_id WHERE f.username = :username AND h.hashtag = :hashtag"; $stmt = $pdo->prepare($sql); $stmt->execute(['username' => $username, 'hashtag' => $hashtag]); $results = $stmt->fetchAll(); // Gib das Ergebnis als JSON aus echo json_encode($results); ?>