title: SQL Server Stored Procedure Output Params in PHP
body: <p>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:</p>
  
  <pre><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);
  </code></pre>
  
  <p>The stored procedure looks like so :</p>
  
  <pre><code>    SET ANSI_NULLS ON
  GO
  SET QUOTED_IDENTIFIER ON
  GO
  
  ALTER proc [dbo].[usp_StoredProc]
  (
      @var1 as varchar(36), 
      @var2 as varchar(10), 
      @outVar1 varchar(36) OUTPUT, 
      @outVar2 varchar(36) OUTPUT 
  )
  as
    select distinct 
      @outVar1 = row1, 
      @outVar2 = row2
    from table1
    where column1 = @var1
      and column2 = @var2
  </code></pre>
  
  <p>Can anyone tell me why $outVar1 and $outVar2 are not being populated?  Thanks a lot for any help!</p>