I tried to call a SQL Server stored procedure from PHP.
Here is my stored procedure:
CREATE procedure [dbo].[tester]
    @id NVARCHAR(MAX)
AS
BEGIN
    DECLARE @tab TABLE (myxml XML)
    INSERT INTO @tab(myxml)
        SELECT map 
        FROM forms 
        WHERE mapid = @id
    SELECT * FROM @tab
END
and my PHP script:
<?php
$serverName = "servername";
$connectionInfo = array("UID" => "sa","PWD" => "mypass","Database" =>  "database");  
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if ($conn) {
    $tsql = "exec tester 'FORMgRGVL7bfpEnpBpg7vz2sHoKAs5zxU5LW'";
    $result = sqlsrv_query($conn, $tsql);
    if ($result === false) {
        die( print_r( sqlsrv_errors(), true) );
        $response=array('response'=>'notok','data'=>'loyo');
        $serverresponse=JSON_encode($response);
    } else {
        $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_NUMERIC);
        $response=array('response'=>'ok','data'=>$row[0]);
        $serverresponse=JSON_encode($response);
    }
    sqlsrv_free_stmt($stmt);
} else {
    $response=array('response'=>'notok','flag'=>$flag,'data'=>'cc');        
    $serverresponse = $serverresponse=JSON_encode($response);
}
echo ($serverresponse);
?>
When I execute the stored procedure from SSMS it returns the value as expected, but when I execute it from PHP, it returns null.