php-sqlsrv/test/sqlsrv/TC76_StoredProcNull.phpt
2017-05-04 08:14:11 -07:00

75 lines
1.5 KiB
PHP

--TEST--
Stored Proc Null Data Test
--DESCRIPTION--
Verifies the ability to return a null string from a stored procedure.
--ENV--
PHPT_EXEC=true
--SKIPIF--
<?php require('skipif.inc'); ?>
--FILE--
<?php
include 'MsCommon.inc';
function StoredProc()
{
include 'MsSetup.inc';
$testName = "Stored Proc - Null Data";
$data1 = "Microsoft SQL Server ";
$data2 = "Driver for PHP";
StartTest($testName);
Setup();
$conn1 = Connect();
ExecProc($conn1, $procName, "VARCHAR(32)", SQLSRV_SQLTYPE_VARCHAR(32), "ABC");
ExecProc($conn1, $procName, "FLOAT", SQLSRV_SQLTYPE_FLOAT, 3.2);
ExecProc($conn1, $procName, "INT", SQLSRV_SQLTYPE_INT, 5);
sqlsrv_close($conn1);
EndTest($testName);
}
function ExecProc($conn, $procName, $sqlType, $sqlTypeEx, $initData)
{
$data = $initData;
$procArgs = "@p1 $sqlType OUTPUT";
$procCode = "SET @p1 = NULL";
$callArgs = array(array(&$data, SQLSRV_PARAM_OUT, null, $sqlTypeEx));
CreateProc($conn, $procName, $procArgs, $procCode);
CallProc($conn, $procName, "?", $callArgs);
DropProc($conn, $procName);
if ($data != null)
{
die("Data corruption: [$data] instead of null.");
}
}
//--------------------------------------------------------------------
// Repro
//
//--------------------------------------------------------------------
function Repro()
{
try
{
StoredProc();
}
catch (Exception $e)
{
echo $e->getMessage();
}
}
Repro();
?>
--EXPECT--
Test "Stored Proc - Null Data" completed successfully.