Запрос на максимальное число в столбце INT хорошо работает в phpmyadmin, но не в коде php

#php #sql

#php #sql

Вопрос:

Я пытаюсь получить МАКСИМАЛЬНОЕ число в столбце INT. Когда я запускаю запрос в phpmyadmin, он работает нормально. Но когда я помещаю это в свой PHP-код, он продолжает возвращать 0. Я думаю, моя проблема в том, что я не знаю, как правильно извлечь это из запроса. В частности, я использую mysql_result, но после прочтения его синтаксиса я не знаю, можно ли это сделать таким образом.

Вот что я получил:

 $query="SELECT MAX(`imageOrder`) FROM images where `gallery` = '$originalGallery'";
$result=mysql_query($query);    
$num=mysql_numrows($result);
  

Я знаю, что вышеописанное работает, но здесь я теряюсь. Как мне получить MAX ( imageOrder ) в переменной PHP?

 $topOrder=mysql_result($result,0);
  

Не работает:

 $topOrder=mysql_result($result,$i,MAX(`imageOrder`));
  

Также не работает (кстати, здесь зацикливание).

Я уверен, вы знаете, что я пытаюсь сделать. Я пытаюсь получить единственное возвращаемое значение. Это должно быть просто 2. Есть идеи?

Ответ №1:

Вы почти на месте:

 $query = "SELECT MAX(`imageOrder`) as maximages FROM images where `gallery` = '$originalGallery'";
$result = mysql_query($query);    
$num = mysql_fetch_assoc($result);

echo $num['maximages'];
  

Ответ №2:

Попробуйте это :

 $row = mysql_fetch_row($result);

echo $row[0]; // value
  

Строка[0] будет содержать ваше максимальное значение.

Ответ №3:

 $query = "SELECT MAX(...) AS maximum ...";
$result = mysql_query($query) or die($query);
$row = mysql_fetch_assoc($result);

echo $row['maximum'];
  

Или, если вы хотите выполнить выборку непосредственно в переменную:

 list($maximum) = mysql_fetch_row($result);
  

Ответ №4:

Я могу быть совершенно неправ, но, по-моему, вам нужно получить результат, как если бы это была строка, используя mysql_fetch_assoc() или что-то подобное.