У меня есть приведенный ниже код 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'. Или есть альтернативный способ решения проблемы?
Любые предложения будут чрезвычайно полезны! Заранее спасибо !!