2011-09-07 90 views
1

我有一個MSSQL中的存儲過程需要2個輸入參數。 @ID int = 0和@TYPE varchar(20)='員工'PHP mssql_bind失敗

從PHP中調用這個存儲過程沒有輸入參數工作正常。使用Management Studio中的參數調用它可以正常工作。我遇到的問題是在mssql_bind中@TYPE輸入參數。

我已驗證我的連接和語句設置正確,因爲我可以調用存儲過程就好了,只要我不綁定任何東西。如果我執行了mssql_bind,那麼請求會立即失敗,就好像有語法錯誤並且頁面未被正確解釋。即使設置了ini_set('display_errors',1)和error_reporting(E_ALL),我也沒有錯誤。該頁面失敗。

這裏是MSSQL連接的代碼。

$statement = mssql_init("Stored_Procedure", $mssql_connection); 
mssql_bind($statement, '@TYPE', 'Applicant', SQLVARCHAR, false, false, 20); 
$results['applicants'] = mssql_execute($statement) 

就像我說的,這些語句在沒有mssql_bind的情況下工作得很好。在那裏,頁面無法立即加載而沒有錯誤。如果任何人有任何想法可能會發生在這裏,我很樂意聽到它!預先感謝您提供的任何幫助。

回答

0

您無法將值傳遞給mssql_bind。你必須傳遞一個變量。將值'Applicant'賦值給變量$ type,並傳遞該變量。

+0

不知道爲什麼我很久以前沒有看到這個答案。這當然有訣竅! –