I am refactoring plain PHP code in symfony (5) + doctrine
my mode is something like:
<code>$sql = "CALL my_store_procedure (?, ?, ?, ?, ?)";
$stmt = db2_prepare($db, $sql);
$p1 = "p1";
$p2 = "p2";
$p3 = "p3";
$p4 = "p4";
$p5 = ;
@db2_bind_param($stmt, 1, "p1", DB2_PARAM_IN);
@db2_bind_param($stmt, 2, "p2", DB2_PARAM_IN);
@db2_bind_param($stmt, 3, "p3", DB2_PARAM_IN);
@db2_bind_param($stmt, 4, "p4", DB2_PARAM_IN);
@db2_bind_param($stmt, 5, "p5", DB2_PARAM_OUT);
$result = @db2_execute($stmt);
</code>
<code>$sql = "CALL my_store_procedure (?, ?, ?, ?, ?)";
$stmt = db2_prepare($db, $sql);
$p1 = "p1";
$p2 = "p2";
$p3 = "p3";
$p4 = "p4";
$p5 = ;
@db2_bind_param($stmt, 1, "p1", DB2_PARAM_IN);
@db2_bind_param($stmt, 2, "p2", DB2_PARAM_IN);
@db2_bind_param($stmt, 3, "p3", DB2_PARAM_IN);
@db2_bind_param($stmt, 4, "p4", DB2_PARAM_IN);
@db2_bind_param($stmt, 5, "p5", DB2_PARAM_OUT);
$result = @db2_execute($stmt);
</code>
$sql = "CALL my_store_procedure (?, ?, ?, ?, ?)";
$stmt = db2_prepare($db, $sql);
$p1 = "p1";
$p2 = "p2";
$p3 = "p3";
$p4 = "p4";
$p5 = ;
@db2_bind_param($stmt, 1, "p1", DB2_PARAM_IN);
@db2_bind_param($stmt, 2, "p2", DB2_PARAM_IN);
@db2_bind_param($stmt, 3, "p3", DB2_PARAM_IN);
@db2_bind_param($stmt, 4, "p4", DB2_PARAM_IN);
@db2_bind_param($stmt, 5, "p5", DB2_PARAM_OUT);
$result = @db2_execute($stmt);
this code works, and I get desired result in $p5
now, if I use doctrine and create a statement, bind parameters (specifying PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT for $p5) and execute the query, $p5 is never populated. The stored procedure is executed successfully, only the output parameter is not populated.
any hint?
thank you
Stefano
1