mysql Вызов хранимой процедуры PDO не выполняется на странице php - PullRequest
0 голосов
/ 05 августа 2020

У меня есть приведенный ниже код PHP для вызова хранимой процедуры mysql PDO с одним входным параметром и одним выходным параметром.

Когда я указываю жестко закодированную строку, например 'RQ000448', для входной параметр, вызов хранимой процедуры работает успешно.

Но я хочу иметь возможность передавать значение переменной $ _POST, которую я извлекаю на странице php вместо жестко заданной строки:

Вот мой PHP код:

<?php
include("DBConnect.php");
try {
$conn = OpenCon();

$data = $_POST['reqnum'];

$stmt = $conn->prepare("CALL createOrder(:inval, @o_message)");
//$stmt->bindValue(':inval', $data , PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT);       // << This line does not work
$stmt->bindValue(':inval', 'RQ000448' , PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT);    // << This line works
$stmt->execute();
$stmt->closeCursor();

$output = $conn->query("select @o_message")->fetch(PDO::FETCH_ASSOC);   
var_dump($output); // array('o_message'=>value)

//close connection
CloseCon($conn);
}
catch(Exception $e) {
      echo 'Message: ' .$e->getMessage();
}
?>

Итак, как я могу заставить приведенный выше код работать, используя переменную $ data вместо строки 'RQ000448'. Или есть альтернативный способ решения проблемы?

Любые предложения будут чрезвычайно полезны! Заранее спасибо !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...