Call a procedure with in/out parameters by PDO

Costas

Administrator
Staff member
PDO::pARAM_INPUT_OUTPUT is for decoration not working. ref

PHP:
$sql = 'CALL get_product(?, @out)';
$stmt = $db->getConnection()->prepare($sql);

$weight= 65;

$stmt->bindParam(1, $weight, PDO::PARAM_INT);
$stmt->execute();
$s = $stmt->fetchAll();
$stmt->closeCursor();
var_dump($db->getScalar('select @out', null));

//or w/ bind var name

$sql = 'CALL get_product(:id, @out)';
$stmt = $db->getConnection()->prepare($sql);

$weight= 65;

$stmt->bindParam(":id", $weight, PDO::PARAM_INT);
$stmt->execute();
$s = $stmt->fetchAll();
$stmt->closeCursor();
var_dump($db->getScalar('select @out', null));


//when
CREATE PROCEDURE `get_product`(IN prod_id int, out ex int)
BEGIN
       SELECT * FROM fixtures WHERE id = prod_id;
           
       set ex = 99;
END
 
Top