Параметр вывода сервера Sql PHP

Я борюсь с выходным параметром в PHP и SQL Server 2008. Я продолжаю получать ошибку:

Примечание: Неопределенная переменная: UserID в C: \ inetpub \ wwwroot \ PersonalWebsitePHP \ Register.php в строке 67 Ошибка при выполнении statementArray ([0] => Array ([0] => IMSSP [SQLSTATE] => IMSSP [1] = > -7 [code] => -7 [2] => В качестве выходного параметра был указан недопустимый тип PHP. Объекты DateTime, значения NULL и потоки не могут быть указаны в качестве выходных параметров. [Message] => Недопустимый тип PHP был указан как выходной параметр. Объекты DateTime, значения NULL и потоки не могут быть указаны в качестве выходных параметров.))

Мой код:

$con = sqlsrv_connect(".\SQLExpress", $connectionInfo); if ($con === false) { echo "Could not connect \n"; die(print_r(sqlsrv_errors(), true)); } $params = array( array($_POST["FirstName"], SQLSRV_PARAM_IN), array($_POST["LastName"], SQLSRV_PARAM_IN), array($_POST["Email"], SQLSRV_PARAM_IN), array($_POST["Username"], SQLSRV_PARAM_IN), array(md5($_POST["Password"]), SQLSRV_PARAM_IN), array(date("Ymd H:i:s"), SQLSRV_PARAM_IN), array($_SERVER["REMOTE_ADDR"], SQLSRV_PARAM_IN), array("Member", SQLSRV_PARAM_IN), array("No", SQLSRV_PARAM_IN), array($UserID, SQLSRV_PARAM_OUT) ); $tsql_callSP = "{call InsertUser(?,?,?,?,?,?,?,?,?,?)}"; $stmt3 = sqlsrv_query($con, $tsql_callSP, $params); if ($stmt3 === false) { echo "Error in executing statement"; die(print_r(sqlsrv_errors(), true)); } sqlsrv_next_result($stmt3); echo "Hi " . $_POST["FirstName"] . ", your User ID is " . $UserID . "."; } } else { die ("The reCAPTCHA wasn't entered correctly. Go back and try it again."); } 

Я точно следил за учебниками. Когда я объявляю $ UserID перед массивом, он просто печатает значение, объявленное в переменной, а не выходной параметр. Входные параметры работают отлично, так как я вижу их в базе данных. Надеюсь, кто-то может помочь с этим.

спасибо

Дуглас

Я не уверен на 100%, но я считаю, что это просит вас назначить тип вывода.
Попробуйте изменить это:

 $params = array( array($_POST["FirstName"], SQLSRV_PARAM_IN), array($_POST["LastName"], SQLSRV_PARAM_IN), array($_POST["Email"], SQLSRV_PARAM_IN), array($_POST["Username"], SQLSRV_PARAM_IN), array(md5($_POST["Password"]), SQLSRV_PARAM_IN), array(date("Ymd H:i:s"), SQLSRV_PARAM_IN), array($_SERVER["REMOTE_ADDR"], SQLSRV_PARAM_IN), array("Member", SQLSRV_PARAM_IN), array("No", SQLSRV_PARAM_IN), array($UserID, SQLSRV_PARAM_OUT) ); 

в

 $params = array( array($_POST["FirstName"], SQLSRV_PARAM_IN), array($_POST["LastName"], SQLSRV_PARAM_IN), array($_POST["Email"], SQLSRV_PARAM_IN), array($_POST["Username"], SQLSRV_PARAM_IN), array(md5($_POST["Password"]), SQLSRV_PARAM_IN), array(date("Ymd H:i:s"), SQLSRV_PARAM_IN), array($_SERVER["REMOTE_ADDR"], SQLSRV_PARAM_IN), array("Member", SQLSRV_PARAM_IN), array("No", SQLSRV_PARAM_IN), array($UserID, SQLSRV_PARAM_OUT, SQLSRV_PHPTYPE_INT) ); 

Ссылка: здесь