And what is the time-span between determining given_index and using it?
If you are certain the table has not changed, you can use it.
But normally, if it's user provided, it can change overtime.
Records get deleted and inserted and your given_index is invalid from that point onwards.
That's why I would recommend a dedicated ID field (like the whole SQL world is using).
But if you want to use a static position, go ahead and wait until it goes wrong.