sql server — функция Stuff () возвращает ошибку PDOException в переполнении стека

У меня есть этот код в MS SQL. Он работает нормально на MSSQL, но когда я пытаюсь поместить его в мой API на PHP, он возвращает ошибку PDOException. В чем может быть проблема и как я буду предполагать, чтобы это исправить? Пожалуйста, помогите мне.

SELECT
cast(user_id as varchar(255)) AS member_id,skincareproductbarcode.barcode, skincareproduct.SCP_id, skincabinet.beautybox_id,
skincabinet.skpid, skincareproduct.photos, skincabinet.create_date
, serial = STUFF((
SELECT ',' + mirrorprofile.serial_number
FROM skincabinet full join membermirrorprofile on
membermirrorprofile.member_id = skincabinet.user_id full join mirrorprofile on mirrorprofile.mirror_id = membermirrorprofile.mirror_id
where skincareproduct.scp_id = skincabinet.skpid   FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 1, '')
from skincabinet join skincareproduct on skincareproduct.scp_id = skincabinet.skpid
full join skincareproductbarcode on skincabinet.skpid = skincareproductbarcode.scp_id
where skincareproduct.approval_flag = 'N' and skincareproduct.photos != ''
and substring(photos,52,3) = 'scp' order by skincareproduct.scp_id desc

Ошибка возвращается так

 General error: 1934 General SQL Server error: Check messages from the SQL Server [1934] (severity 16) [(null)]

Мой php код такой

if($code == 'un'){

$listData = array();

$stmt = $dbRemote->prepare(
"SELECT
cast(user_id as varchar(255)) AS member_id,skincareproductbarcode.barcode, skincareproduct.SCP_id, skincabinet.beautybox_id,
skincabinet.skpid, skincareproduct.photos, skincabinet.create_date
, serial = STUFF((
SELECT ',' + mirrorprofile.serial_number
FROM skincabinet full join membermirrorprofile on
membermirrorprofile.member_id = skincabinet.user_id full join mirrorprofile on mirrorprofile.mirror_id = membermirrorprofile.mirror_id
where skincareproduct.scp_id = skincabinet.skpid   FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 1, '')
from skincabinet join skincareproduct on skincareproduct.scp_id = skincabinet.skpid
full join skincareproductbarcode on skincabinet.skpid = skincareproductbarcode.scp_id
where skincareproduct.approval_flag = 'N'  order by skincareproduct.scp_id desc

"
);

$stmt->execute();
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($res as $row){
$listData[] = array(

"SCP_id"    => $row['SCP_id'],
"barcode" => $row['barcode'],
"beautybox_id" => $row['beautybox_id'],
"skpid" => $row['skpid'],
"member_id" => $row['member_id'],
"photos"        => $row['photos'],
"time"      => $row['create_date'],
"SN" => $row['serial']

);
}
echo json_encode($listData);
}

0

Решение

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

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

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

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