Php с вызовом хранимой процедуры MariadB с использованием JSON_ARRAYAGG JSON_OBJECT возвращает данные, а также запрос (?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Php с вызовом хранимой процедуры MariadB с использованием JSON_ARRAYAGG JSON_OBJECT возвращает данные, а также запрос (?

Сообщение Anonymous »


Сохраняемая процедура mariaDB

CREATE DEFINER=`user`@`localhost` ПРОЦЕДУРА `db`.`test`(IN STR varchar (128)) НАЧИНАТЬ ВЫБЕРИТЕ JSON_ARRAYAGG(JSON_OBJECT('AMNT', AMNT)) ИЗ BOMI AS RES; КОНЕЦ вызывается php в функции следующим образом:
mysqli_query($link,"SET @p0='".$param1."'"); mysqli_multi_query ($link, "CALL test(@p0)") ИЛИ DIE (mysqli_error($link)); $данные = []; если ($result = mysqli_store_result($link)) { в то время как ($row = mysqli_fetch_assoc($result)) { $данные[] = $строка; } } возвращаемый массив ($status, $code, $message, $data);
вызывающая сторона печатает данные:

echo json_encode($data, JSON_UNESCAPED_SLASHES); Данные, возвращаемые в $data, верны и представляют собой массив из трех записей

Хотя [Q1] результат имеет сам запрос в качестве префикса. Это правильно?

`[{"JSON_ARRAYAGG(JSON_OBJECT('AMNT', AMNT) )":"[{\"AMNT\": 1.0000},{\"AMNT\": 1.0000},{\"AMNT\ ": 1.0000}]"}] ` и [Q2] данные имеют обратную косую черту. (да, (хак) с Stripslashes() работает, но как этого избежать?)

MariaDB версии 15.1 Distrib 10.11.2-MariaDB для debian-linux-gnu (x86_64) с использованием оболочки EditLine PHP 8.1.12-1ubuntu4.3 (cli) (собран: 17 августа 2023 г., 17:37:48) (NTS)

Ожидается:
'"[{"AMNT": 1.0000},{"AMNT": 1.0000},{"AMNT": 1.0000}]"}]'
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»