У меня проблема с моим кодом. Я не могу обернуть голову, что не так с кодом или где я терплю неудачу.
Я хочу вычислить среднее значение нескольких чисел из моей базы данных из одного столбца.
/*data calculation*/
$calculation = "SELECT AVG(current) FROM offset_items";
$calculation_result = mysqli_query($connect, $calculation);
if($average = mysqli_fetch_assoc($calculation_result))
{echo "Average: ".$average["current"]."<br>";}
Проблема здесь в том, что я получаю только пробел, отображаемый после «Среднее:».
Но если я удалю AVG из запроса, я получу все результаты, перечисленные в этом столбце БД. БД содержит данные, которые я импортирую в том же скрипте, а также отображаю их для тестирования.
Я получаю следующую ошибку, которая является строкой эха:
Notice: Undefined index: current in C:\MAMP\htdocs\Offset_Items.php on line 50
Я думаю, что проблема здесь в mysqli_fetch_assoc, но я не уверен.
Пролистывание нескольких тем об этом «неопределенном индексе» не решило мою проблему. Даже когда я объявляю переменную перед NULL.
Я не имею отношения к программированию, но сейчас снова поднял его, чтобы написать некоторые инструменты для работы. Так что, если вы, ребята, могли бы помочь мне, я был бы очень благодарен.
Код PHP, который пытается напечатать результат, гласит:
$average = mysqli_fetch_assoc($calculation_result);
echo "Average: ".$average["current"]."<br>";
но запрос, который генерирует набор результатов, не содержит ни одного столбца с именем current
,
Используйте псевдоним для выражения AVG(current)
в SELECT
предложение, чтобы получить столбец в наборе результатов, имеющий желаемое имя:
SELECT AVG(current) AS current FROM offset_items
Других решений пока нет …