Преобразование сводной таблицы, созданной с использованием MySQL, в JSON с использованием переполнения стека

У меня есть SQL-запрос, который создает сводную таблицу для данных

SET @sql = NULL;
SET @@group_concat_max_len = 5000;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'MAX(IF(cropname = ''',
cropname,
''', quantity, NULL)) AS ''',
cropname,''''
)
) INTO @sql
FROM
tempcrop;

SET @sql = CONCAT('SELECT date, SUM(quantity),', @sql, ' FROM tempcrop Group By date');

PREPARE stmt FROM @sql;
EXECUTE stmt;

Теперь я пытаюсь отобразить эту таблицу во внешнем интерфейсе, преобразовав ее в JSON с использованием PHP и отправив ее на клиентский компьютер.

<?php

$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "api";

try{
$conn = new PDO("mysql:host=$servername;dbname=$dbname",$username,$password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch(PDOException $ex){
die($ex->getMessage());
}

$query = "SET @sql = NULL;
SET @@group_concat_max_len = 5000;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'MAX(IF(cropname = ''',
cropname,
''', quantity, NULL)) AS ''',
cropname,''''
)
) INTO @sql
FROM
tempcrop;

SET @sql = CONCAT('SELECT date, SUM(quantity),', @sql, ' FROM tempcrop Group By date');

PREPARE stmt FROM @sql;
EXECUTE stmt";

$stmt = $conn->prepare($query);
$stmt->execute();

$cropData = array();

while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
$cropData['AllCrops'][] = $row;
}

echo json_encode($cropData);
?>

Запуск этого кода дает ошибку

Необработанное исключение «PDOException» с сообщением «SQLSTATE [HY000]:
Общая ошибка

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector