Чтобы получить одну строку из результата запроса, в mysqli есть функции
fetch_assoc()
: возвращает всю строку в ассоциативный массив
fetch_row()
: возвращает нумерованный массив (список)
fetch_obj()
: возвращает объект класса stdClass
fetch_column()
: возвращает значение из первой колонки запрошенной строки
В общем случае случае осмысленный код для получения значения единственной колонки будет таким
$sql = "SELECT link FROM tablet where id=?";
$result = $conn->execute_query($sql, [$a]);
$link = $result->fetch_column();
Но как правильно замечено в комментариях, правильнее будет рандомизировать сразу в запросе, причем все делать одним запросом, а не тремя
function Axelmo($conn) {
$sql2 = "SELECT link FROM tablet ORDER BY rand() LIMIT 1";
return $conn->query($sql)->fetch_column();
}
Ну и чисто для иллюстрации, как сделать запрос с ограничением по id
function Axelmo($min, $max, $conn) {
$sql2 = "SELECT link FROM tablet where id >= ? AND id <= ? ORDER BY rand() LIMIT 1";
return $conn->execute_query($sql, [$min, $max])->fetch_column();
}