Как я могу узнать номер строки БД из выполненного запроса? Вот, выполняю запрос: PHP: $mysqli = new mysqli($host,$user,$pass,$db_name); $res = $mysqli->query("SELECT * FROM photos WHERE id = {$_GET['id']}"); $row = $res->fetch_assoc(); И после, я должен узнать позицию данной строки в БД.
Может ты id имел ввиду? --- Добавлено --- Ну и в коде нет проверок на случай если что-то пойдёт не так.
не-а, в том то и дело, что мне нужен номер строки, а не id)) --- Добавлено --- Я знаю, это просто запрос к БД и я не использую к нему проверки) --- Добавлено --- Мне нужно получить значение строки, которая ниже, чем та, что в запросе ($_GET['id'])
@jonathan-grinn в mysql нету номеров строк, сортируй как хочешь, если у тебя там auto increment на id, то возможно ты хочешь получить запись с большем id с которым запросил. Тогда можно применить такую логику, искать id > $_GET['id'] и LIMIT 1, тогда ты просто найдёшь следующий id больше того что ты запросил в $_GET['id'] и всего одну запись запрашиваешь, так как указать можно LIMIT 1.
Добавлю, в других БД их тоже нет. Этим БД и отличается от обычного Excel'я. Если у записи (или как ты выражаешься строки) нет уникального идентификатора - БД с ней работать корректно не сможет. Например если ты добавишь 2 абсолютно идентичные записи в таблицу, то и удалить ты их сможешь только парой т.е. все. БД их различать не будет.
Емкий ответ, аргументированный --- Добавлено --- Можно указать, но это ничего не даст. Чтобы драйвер понял, что же ему всё-таки нужно удалять - необходимо ЭТО ему (драйверу) сообщить явно.
в бд НЕ СУЩЕСТВУЕТ позиций. Все выборки выдают результат в той сортировке, что указана в запросе. Если она не указана, то нет никаких гарантий очерёдности от запроса к запросу. Раз от разу могут быть другие последовательности. Если ты хочешь сортировку, значит по какой-то колонке надо отсортировать. Если у тебя есть желание получить номер строки, значит по какому-то критерию ты хочешь чтобы эти строки были отсортированы. По какой колонке ты хочешь их отсортировать?