php-sqlsrv/test/functional/pdo_sqlsrv/PDO102_MaxOutputParams.phpt
2017-12-05 16:32:18 -08:00

55 lines
1.3 KiB
PHP

--TEST--
PDO - Max Output Params Test
--DESCRIPTION--
Fetch data as VARCHAR(MAX)
--ENV--
PHPT_EXEC=true
--SKIPIF--
<?php require_once("skipif_mid-refactor.inc"); ?>
--FILE--
<?php
require_once("MsCommon_mid-refactor.inc");
function maxOutputParamsTest($expected, $length)
{
$outstr = null;
$conn = connect();
$procName = "EXEC_TEST";
dropProc($conn, $procName);
$conn->query("CREATE PROC [$procName] (@OUT varchar(80) output) AS BEGIN
SET NOCOUNT ON; select @OUT = '$expected'; return(0) END");
$sql = "execute EXEC_TEST ?";
$stmt = $conn->prepare($sql);
$stmt->bindParam(1, $outstr, PDO::PARAM_STR, $length);
$stmt->execute();
echo "Expected: $expected Received: $outstr\n";
$failed = false;
if ($outstr !== $expected) {
print_r($stmt->errorInfo());
$failed = true;
}
return $failed;
}
//--------------------------------------------------------------------
// Repro
//
//--------------------------------------------------------------------
$failed = false;
$failed |= maxOutputParamsTest("abc", 3);
$failed |= maxOutputParamsTest("abc", 10);
if ($failed) {
fatalError("Possible Regression: Value returned as VARCHAR(MAX) truncated");
}
?>
--EXPECT--
Expected: abc Received: abc
Expected: abc Received: abc