prepare("SELECT * FROM `websites` ORDER BY RANDOM() LIMIT 1;"); $stmt->execute(); $row = $stmt->fetch(); die(header("Location: https://tilde.team/~grizzly/browser/?member=" . $row['login_name'])); } else { $stmt = $db->prepare("SELECT * FROM `websites` WHERE login_name = :login_name;"); $stmt->execute(array(':login_name' => $member)); $row = $stmt->fetch(); // works $stmt = $db->prepare("SELECT login_name FROM `websites` WHERE id > :id;"); $stmt->execute(array(':id' => $row['id'])); $next = $stmt->fetch(); // works $stmt = $db->prepare("SELECT login_name FROM `websites` WHERE id < :id;"); $stmt->execute(array(':id' => $row['id'])); $prev = $stmt->fetch(); // always return first record from database, why? } $current = $row["login_name"]; $next = $next["login_name"] ? $next["login_name"] : null; $prev = $prev["login_name"] ? $prev["login_name"] : null; // echo "current: " . $current . "\n"; // echo "next: " . $next . "\n"; // echo "prev: " . $prev . "\n"; ?>