Я использую sql-сервер 2012 и подключаюсь к php. когда я выполняю хранимую процедуру в студии управления sql, она работает нормально. но когда я вызываю хранимую процедуру в php, он возвращает пустое или нулевое значениеСохраненная процедура возвращает пустое или пустое значение в php
Я нашел причину. Я использую PRINT в этой хранимой процедуре. если я удалю эту печать в хранимой процедуре, она отлично работает в php. если я использую означает, что он получает пустое значение
Почему? и как получить результат из хранимой процедуры в PHP в этом случае (зр есть оператор печати)
хранимой процедуры?
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);
Добавить SET NOCOUNT ON; после инструкции BEGIN и проверьте, помогает ли она вам. –
@PareshJ Да, спасибо, я получил результаты. Но я не хочу изменять хранимую процедуру. Как я могу обработать это на стороне PHP? –
Как вы сможете добавить SET NOCOUNT в свой PHP-код? Вы должны добавить это только в свой SP. –