2014-06-19 2 views
0

PHP에서 mssql 저장 프로 시저를 호출하려고하는데 money 매개 변수를 전달하려고 할 때 실패했습니다. 이건 내 코드입니다 :PHP mssql_bind가 money 데이터 유형을 전달하지 못했습니다.

$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 

money 데이터 유형을 전달할 때 까다로운 방법이 있습니까? 내가 돈을 매개 변수없이 다른 저장 프로 시저를하고 원활하게 실행 원인 ..

답변

0

을 그래서 결국 난 그냥 돈을 매개 변수에 SQLVARCHAR으로 사용 잘의 작품

mssql_bind($proc, "@param5", $param5, SQLVARCHAR, false, false); 
mssql_bind($proc, "@param6", $param6, SQLVARCHAR, false, false);