I need help running a stored procedure from SQL Server in PHP. PHP is running on a Unix/Linux server. We cannot get OUTPUT variables to return in PHP. The following is the PHP code:
$conn = mssql_connect('server','user','pass');
mssql_select_db('db', $conn);
$procedure = mssql_init('usp_StoredProc', $conn);
$tmpVar1 ='value';
$tmpVar2 ='value2';
$outVar1 ='';
$outVar2 ='';
mssql_bind($procedure,"@var1", $tmpVar1, SQLVARCHAR,false,false);
mssql_bind($procedure,"@var2", $tmpVar2, SQLVARCHAR,false,false);
mssql_bind($procedure,"@outVar1", $outVar1, SQLVARCHAR,true);
mssql_bind($procedure,"@outVar2", $outVar2, SQLVARCHAR,true);
mssql_execute($procedure,$conn);print($outVar1);print($outVar2);
The stored procedure looks like so :
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[usp_StoredProc](@var1as varchar(36),@var2as varchar(10),@outVar1 varchar(36) OUTPUT,@outVar2 varchar(36) OUTPUT )asselect distinct @outVar1= row1,@outVar2= row2from table1where column1 =@var1and column2 =@var2
Can anyone tell me why $outVar1 and $outVar2 are not being populated? Thanks a lot for any help!