Ценю любую помощь, что я делаю не так? Необъявленная переменная: $ offset
$offset = 1;
$sql = 'SELECT * FROM links order by payout desc limit $offset, 1';
Не используйте подстановку переменных в строках для создания таких SQL-запросов. Это создает уязвимости SQL-инъекций.
Используйте PDO или mysqli и предоставьте переменные в виде данных, например:
$pdo = new PDO(...);
$stmt = $pdo->prepare('SELECT * from links ORDER BY payout DESC LIMIT :offset, 1');
if ($stmt->execute(array(':offset' => $offset)) {
$row = $stmt->fetch();
}
Стоит отметить, что вы написали переменную inline в одинарных кавычках, переменные можно распознать только в двойных кавычках
Пытаться:
$sql = 'SELECT * FROM links order by payout desc limit ' . intval($offset) . ', 1';