Я использую 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);
Пожалуйста, попробуйте это:
$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);
Других решений пока нет …