Squeak.ru - шаблоны программирования

Извлечение только последней строки запроса mysql с помощью PHP

Можно ли получить только последнюю строку, возвращенную из запроса mysql. Например. скажем, у меня есть

$result=mysql_query("SELECT * from mytable)

Он возвращает много строк. единственный известный мне способ получить данные - использовать цикл while, подобный этому

while ($row=mysql_fetch_array($result)) { ... }

Я знаю, о чем вы думаете... Почему бы просто не сделать запрос к SELECT только последней строке? Но скажем так, это вне моего контроля. Запрос уже выполнен, в нем много строк, и я не хочу делать еще один запрос. Единственный способ получить последнюю строку, пройти весь цикл while, а затем просмотреть последние возвращенные данные? Или есть способ, возможно, получить строки назад и остановиться на первом. На самом деле, если так будет проще, мне даже не нужна вся последняя строка. Я хочу знать, что находится в последнем столбце последней строки.

29.03.2019

Ответы:


1

Хотя вы используете устаревший API-интерфейс mysql, вы можете использовать mysql_data_seek.

Ссылка предоставляет вам пример, вы можете сделать что-то вроде:

mysql_data_seek($result, mysql_num_rows($result) - 1);
$row = mysql_fetch_array($result);

Более современная версия mysqli также имеет эту функцию.

29.03.2019

2

Использовать

SELECT * FROM Table ORDER BY ID DESC LIMIT 1

Альтернативный ответ PHP:

$lastElement = array_values(array_slice($array, -1))[0];

Если вы запустите это в результатах своего запроса, вы можете просто получить значение таким образом.

29.03.2019
  • вопрос спрашивал, как это сделать без другого запроса. мне нужен php ответ 29.03.2019
  • Почему бы просто не встроить это в исходный запрос? Вам не нужно запускать 2 запроса. 29.03.2019
  • @CheeseFlavored также добавил для вас ответ на php 29.03.2019
  • Я ищу ответ php, я пробовал $lastElement = array_values(array_slice(mysql_fetch_array($result), -1))[0];, но он не дал мне последний элемент 29.03.2019
  • Тогда ваш запрос выбора сортирует его неправильно, и вам придется его изменить. В противном случае нет простого ответа. 29.03.2019

  • 3

    PHP

    У вас может быть переменная вне цикла, которая сохраняет последнюю строку следующим образом:

    $lastRow = null;
    while ($row=mysql_fetch_array($result)) 
    {  
        $lastRow = $row;
    }
    
    $value = lastRow['ColumnName'];
    

    Теперь вы можете использовать lastRow где угодно за пределами запроса.

    SQL

    Вы можете заказать по убыванию, чтобы перевернуть стол.

    SELECT ColumnName FROM table ORDER BY id DESC LIMIT 1;
    

    LIMIT 1 вернет только 1 строку.

    29.03.2019
  • вопрос спрашивал, как это сделать без другого запроса. Мне нужен ответ php на основе уже выполненного запроса. 29.03.2019
  • @CheeseFlavored Я обновил свой ответ 29.03.2019
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...