diff --git a/api/corpus-documents.php b/api/corpus-documents.php index 8e2a858..8b7862e 100644 --- a/api/corpus-documents.php +++ b/api/corpus-documents.php @@ -53,11 +53,8 @@ try { $countStmt->execute($countParams); $total = (int)$countStmt->fetchColumn(); - // Paginated rows - $dataParams = $params; - $dataParams[] = $limit; - $dataParams[] = $offset; - $dataStmt = $ragDb->prepare( + // Paginated rows — LIMIT/OFFSET interpolated as ints (MariaDB rejects bound params here) + $dataStmt = $ragDb->prepare( "SELECT d.id, d.title, d.category, d.source_url, d.language, d.updated_at, COUNT(c.id) AS chunk_count FROM documents d @@ -65,9 +62,9 @@ try { WHERE $whereStr GROUP BY d.id ORDER BY d.updated_at DESC - LIMIT ? OFFSET ?" + LIMIT $limit OFFSET $offset" ); - $dataStmt->execute($dataParams); + $dataStmt->execute($params); $documents = $dataStmt->fetchAll(PDO::FETCH_ASSOC); // Normalise chunk_count to int diff --git a/api/corpus-search.php b/api/corpus-search.php index 5d0a2ea..6155708 100644 --- a/api/corpus-search.php +++ b/api/corpus-search.php @@ -59,10 +59,9 @@ try { AND d.source_url NOT LIKE ? $catClause ORDER BY score DESC - LIMIT ?"; + LIMIT $limit"; $params = [$query, 1, $query, $excludeLike]; if ($category !== null) $params[] = $category; - $params[] = $limit; $stmt = $ragDb->prepare($sql); $stmt->execute($params); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); @@ -80,11 +79,10 @@ try { AND d.source_url NOT LIKE ? $catClause ORDER BY (d.title LIKE ?) DESC - LIMIT ?"; + LIMIT $limit"; $params = [1, $like, $like, $excludeLike]; if ($category !== null) $params[] = $category; $params[] = $like; - $params[] = $limit; $stmt = $ragDb->prepare($sql); $stmt->execute($params); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);