Я пытаюсь выполнить хранимую процедуру на SQL Server, используя PDO.Все работает нормально, но когда я пытаюсь прочитать выходной параметр (тип UNIQUEIDENTIFIER), единственное, что я получаю, это NULL.
Я попытался запустить свой скрипт на Debian 9 с PHP 7.0 и Ubuntu 18.10с PHP 7.2 и изменением типа PDO моего параметра, но безуспешно.
$order_uid = null;
$sql = "EXEC spInsertOrder ?, ?, ?, ?...";
$stmt = $db->prepare($sql);
$stmt->bindParam(29, $order_uid, PDO::PARAM_INPUT_OUTPUT | PDO::PARAM_STR, 50);
if ($stmt->execute() === false) {
echo $stmt->errorCode();
print_r($stmt->errorInfo());
}
Я ожидаю получить UUID, который излучает SQL Server, вместо этого возникает ошибка:
Неустранимая ошибка: Uncaught PDOException: SQLSTATE [IMSSP]: указан неверный тип для параметра 5.В качестве параметров могут использоваться только логические значения, целые числа, числа с плавающей точкой, строки и потоки.