Хранимая процедура возвращает пустое или пустое значение в переполнении стека

Я использую SQL Server 2012 и подключен к php. когда я выполняю хранимую процедуру в sql management studio, она работает нормально. но когда я вызываю хранимую процедуру в php, он возвращает пустое или нулевое значение

Я нашел основную причину. Я использую PRINT в этой хранимой процедуре. если я удаляю этот отпечаток в хранимой процедуре, он работает нормально в php. если я использую, значит, получая пустое значение

Зачем? и как получить результат от хранимой процедуры в PHP в этом сценарии? (sp есть оператор печати)

Хранимая процедура:

CREATE PROCEDURE spname
@Id INT
AS
Begin
PRINT "some notes"SELECT * FROM TABLE_NAME
end

Код php

$sp="EXEC spname @Id=20";
$query=$con->prepare($sp);
$query->execute();
$result = $query->fetchAll(PDO::FETCH_ASSOC);
print '<PRE>';
print_r($result);

2

Решение

Пожалуйста, попробуйте это:

$sp="SET NOCOUNT ON;EXEC spname @Id=20";
$query=$con->prepare($sp);
$query->execute();
$result = $query->fetchAll(PDO::FETCH_ASSOC);
print '<PRE>';
print_r($result);
1

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

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

По вопросам рекламы [email protected]