EDIT: SOLVED - Как обычно, код ошибки не был связан с подозрительным кодом. Я использовал переменную вместо table_name, и перед запуском запроса она переключилась на неправильную таблицу.mySQL MAX() работает от phpmyadmin, но не от php-скрипта?
Для всех, кого интересуют, все предлагаемые решения, а также исходный код, размещенные ниже, теперь работают на меня. Спасибо за помощь! Извините за мой идиотизм.
ОРИГИНАЛЬНАЯ ПОЧТА: У меня возникла странная ошибка.
Я пытаюсь получить максимальное значение из столбца базы данных MySQL в моем PHP скрипт, используя следующий код:
$q = "SELECT MAX(item_id) AS maxid FROM table_name";
$q = mysql_query($q);
while($row=mysql_fetch_assoc($q)){
$maxItemNum = $row['maxid'];
}
echo $maxItemNum;
Однако $ maxItemNum, что получает отражение это подсчет строк таблицы, а не максимальное значение из столбца «item_id».
Странная вещь, когда я запускаю следующую команду с помощью PHPMyAdmin, я получаю правильный результат (225):
SELECT MAX(item_id) FROM table_name
Любые идеи, как к этому вопросу? Я столкнулся ...
если это поля AUTO_INCREMENT, и вы НЕ удаляете старые записи, тогда max (id) имеет тенденцию быть тем же самым значением ish, что и count (id). –
@MarcB Поле item_id не является полем auto_increment. По-прежнему не знаю, почему phpmyadmin дал мне правильное значение, но php-скрипт не является .. – IIIOXIII
Вы использовали '$ maxItemNum' ранее в коде? Если этот запрос завершился неудачно из-за плохого 'table_name' или чего-то еще, он все равно будет удерживать более раннее значение. –