This looks wrong:
$stmt = $DBH->prepare("SELECT * FROM url WHERE page = '" . $page . "' LIMIT 1");
$stmt->bindParam('$page', $_GET['§page'], PDO::PARAM_INT);
I would expect:
$stmt = $DBH->prepare("SELECT * FROM url WHERE page = :page LIMIT 1");
$stmt->bindParam(':page', $_GET['§page'], PDO::PARAM_INT);
or:
$stmt = $DBH->prepare("SELECT * FROM url WHERE page = ? LIMIT 1");
$stmt->bindParam(1, $_GET['§page'], PDO::PARAM_INT);