#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()
или что-то подобное.