У меня есть 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]:
Общая ошибка
Задача ещё не решена.
Других решений пока нет …