PHP mssql_bind не удалось передать тип данных денег

я пытаюсь вызвать хранимую процедуру mssql из PHP и потерпел неудачу при попытке передать денежный параметр. Это мой код:

$proc = mssql_init("sp_something");

mssql_bind($proc, "@param1", $param1,  SQLINT4, false, false);
mssql_bind($proc, "@param2", $param2,  SQLINT4, false, false);
mssql_bind($proc, "@param3", $param3,  SQLVARCHAR, false, false, 5);
mssql_bind($proc, "@param4", $param4,  SQLINT4, false, false);
mssql_bind($proc, "@param5", $param5,  SQLMONEY, false, false);
mssql_bind($proc, "@param6", $param6,  SQLMONEY, false, false);
mssql_bind($proc, "@param7", $param7,  SQLVARCHAR, true);

mssql_execute($proc);

echo mssql_get_last_message();

и его не удалось, и последнее сообщение:

Procedure or function 'sp_something' expects parameter '@param5', 
which was not supplied.

это моя хранимая процедура:

ALTER PROCEDURE [dbo].[sp_something]
@param1 smallint,
@param2 smallint,
@param3 varchar(8),
@param4 int,
@param5 money,
@param6 money,
@param7 bit OUTPUT AS

--some stored proc

я пытаюсь выполнить его из студии управления сервером sql и его УСПЕХ:

exec sp_something 2014,5,'123456',1,12345.23,22222.33,0

Есть ли какой-нибудь сложный способ, когда вы хотите передать тип данных денег? потому что у меня есть другая хранимая процедура без денежного параметра, и она работает гладко.


person Daniel Robertus    schedule 19.06.2014    source источник


Ответы (1)


Итак, наконец, я просто использую параметр SQLVARCHAR для денег, и он работает хорошо.

mssql_bind($proc, "@param5", $param5,  SQLVARCHAR, false, false);
mssql_bind($proc, "@param6", $param6,  SQLVARCHAR, false, false);
person Daniel Robertus    schedule 20.06.2014