いくつかの入力パラメータと出力パラメータを持つストアドプロシージャを作成しました。 PHPから呼び出そうとしているときにエラーが出る。 私のコードは以下の通りである:PHP SQL Server出力パラメータにエラーが発生しました
Iを取得エラー:
アレイ([0] =>配列([0] => 42000 [SQLSTATE] => 42000 1 => 102 [メッセージ] => [Microsoft] [SQL Server用のODBCドライバ11] [SQL Server用のODBCドライバ11] [SQL Server 2005用のODBCドライバー11] [SQL Server 2005用のODBCドライバー11] [] [コード] => 102 2 => [Microsoft] [SQL Server用ODBCドライバー11] [SQL サーバー] '@new_identity' ] [SQL Server]構文が正しくない '@new_identity'の近く)。)
私は自分のコードを変更した場合は0
:
$sql = "exec Apprasial_Details_Insert
@Employee_Name = '".$_POST["Emp_Name"]."',
@Position = '".$_POST["Position"]."',
@Dept_Branch = '".$_POST["Branch"]."',
@Location = '".$_POST["Location"]."',
@Appraiser_Name_1 = '".$_POST["1Appraiser"]."',
@Appraiser_Name_2 = '".$_POST["2Appraiser"]."',
@Title_1 = '".$_POST["1AppraiserTitle"]."',
@Title_2 = '".$_POST["2AppraiserTitle"]."',
@Date = '$datetime_formatted',
@Grand_Total = '".$_POST["GrandTotal"]."',
@Staff_ID = '".$_POST["Staff_ID"]."'
@new_identity = ?";
$procedure_params = array
(
array(&$ID['new_identity'], SQLSRV_PARAM_OUT)
);
$stmt = sqlsrv_query($conn, $sql,$procedure_params);
if($stmt === false)
{
//header("Location: error.php?id=$statement");
die(print_r(sqlsrv_errors(), true));
}
エラーを私が取得:
配列([0] =>配列([0] => IMSSP [SQLSTATE] => IMSSP 1 => -7 [code] => -7 2 =>無効なPHPタイプが出力 パラメータとして指定されました。 DateTimeオブジェクト、NULL値、およびストリームは出力パラメータとして に指定できません。 [メッセージ] =>無効なPHPタイプが出力パラメータとして でした。 DateTimeオブジェクト、NULL値、および ストリームを出力パラメータとして指定することはできません。
私が間違っています))
は、私は以下の記事を参照のこと?
さて、今私は愚かな感じ!答えに感謝:)それを感謝:) – SR1092