foreach($result as $row){
array_push($dataPoints, array("x"=> $row->AUTOINDEX, "y"=> $row->AVG(`VALUE_`)));
}
Это ошибка, когда я использовал AVG (VALUE_)
Я пытался использовать SQL для создания диаграммы на php
foreach($result as $row){
array_push($dataPoints, array("x"=> $row->AUTOINDEX, "y"=> $row->AVG(`VALUE_`)));
}
когда AVG (VALUE_) - ошибка HTTP ERROR 500
Но обычное имя таблицы в базе данных VAULE_ не является ошибкой.
Как я могу это исправить! Я ошибся, потому что использовал AVG ()?
Показывает только ошибку 500.
Проверьте журналы, затем
Я не уверен, что VALUE_ следует заключать в обратные кавычки `. Попробуйте цитаты, простые ' или двойные "
Я думаю, что это ошибочно, потому что я использовал AVG () и назвал его в php как обычный столбец ????
Вы говорите здесь об агрегатной функции SQL AVG()? Что ж, вам нужно вызвать это в операторе SQL, а не в PHP ...
Адаптируюсь от этого canvasjs.com/php-charts/chart-data-from-database.
Да, я создал sql, используя AVG (), и мне нужно использовать их для моей диаграммы
попробуйте $ row -> {'AVG (VALUE_)'}
Просто дайте столбцу псевдоним по вашему выбору, и тогда вам не придется иметь дело с автоматически созданным более сложным идентификатором столбца, который вы обычно получаете при использовании агрегатных функций.
Я попробовал {'AVG (VALUE_)'}, и это не ошибка, но диаграмма не отображается. TT
@misorude Да я понятия не имею. могу я вас спросить?
Комментарий не отмечен моими обратными кавычками






Вы пытаетесь получить доступ к свойству объекта. Таким образом, вы либо назначаете псевдоним временному столбцу.
"SELECT *, AVG(`VALUE_`) as average FROM table_name"
Затем вы можете получить к нему доступ с помощью $ row-> average в своем цикле foreach.
ИЛИ используйте фигурные скобки, чтобы контекст внутри обрабатывался как строка. В противном случае вы пытаетесь вызвать метод из $ row.
$row->{'AVG(`VALUE_`)'}
php не знает, что AVG (VALUE_) - это имя столбца из вашего запроса. php принимает это как метод (функцию) $ row-> doSomething ($ arguments).
Ошибка 500 широкая. Что за сообщение об ошибке?