--TEST-- GitHub issue #231 - String truncation when binding varchar(max) --SKIPIF-- --FILE-- The quick brown fox jumps over the lazy dog0123456789"; } return $data; } function getPhpType($k) { $phpType = SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR); if ($k == 7) { $phpType = SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_BINARY); } return $phpType; } function SQLType($k) { switch ($k) { case 1: return ("char(512)"); case 2: return ("varchar(512)"); case 3: return ("varchar(max)"); case 4: return ("nchar(512)"); case 5: return ("nvarchar(512)"); case 6: return ("nvarchar(max)"); case 7: return ("varbinary(max)"); case 8: return ("xml"); default: break; } return ("udt"); } function getSQLSRVType($k, $dataSize) { switch ($k) { case 1: return (SQLSRV_SQLTYPE_CHAR($dataSize)); case 2: return (SQLSRV_SQLTYPE_VARCHAR($dataSize)); case 3: return (SQLSRV_SQLTYPE_VARCHAR('max')); case 4: return (SQLSRV_SQLTYPE_NCHAR($dataSize)); case 5: return (SQLSRV_SQLTYPE_NVARCHAR($dataSize)); case 6: return (SQLSRV_SQLTYPE_NVARCHAR('max')); case 7: return (SQLSRV_SQLTYPE_VARBINARY('max')); case 8: return (SQLSRV_SQLTYPE_XML); default: break; } return (SQLSRV_SQLTYPE_UDT); } ?> --EXPECT-- Data Type: char(512) binding as Output parameter: data matched! InOut parameter: data matched! Data Type: varchar(512) binding as Output parameter: data matched! InOut parameter: data matched! Data Type: varchar(max) binding as Output parameter: data matched! InOut parameter: data matched! Data Type: nchar(512) binding as Output parameter: data matched! InOut parameter: data matched! Data Type: nvarchar(512) binding as Output parameter: data matched! InOut parameter: data matched! Data Type: nvarchar(max) binding as Output parameter: data matched! InOut parameter: data matched! Data Type: varbinary(max) binding as Output parameter: data matched! InOut parameter: data matched! Data Type: xml binding as Output parameter: data matched! InOut parameter: data matched!