有人可以帮我解决如何通过php PDO调用oracle中的存储过程吗?我有一个以下存储过程。
sp_getpricedetailforhp (p_pbook in NVARCHAR2,p_plevel in NVARCHAR2,p_item in NVARCHAR2,p_qty in NUMBER,p_date in date,p_customer in NVARCHAR2,c_data OUT sys_refcursor)
上面的存储过程名为sp_getpricedetailforhp,用于显示价格并输出游标。有人可以帮我在php PDO中调用上面的存储过程。我是新玩的存储过程
以下代码我试过但没有运气
$output ='';
$query = "CALL sp_getpricedetailforhp(:p_pbook, :p_plevel, :p_item, :p_qty, :p_date, :p_customer, @c_data)";
$stmt= DBInitialize::MiddleSCM2DBPDO()->prepare($query);
$stmt->execute(array(
':p_pbook' => 'ABANS',
':p_plevel' => 'A',
':p_item' => 'ABCK1800',
':p_qty' => '1',
':p_date' => '05/May/2016',
':p_customer' => 'N/A',
':c_data' => $output,
));
print_r($output);
谢谢。
答案 0 :(得分:0)
你可以从
中提出这个问题http://www.php.net/manual/en/pdo.prepared-statements.php#101993
$dbh->query("CALL SomeStoredProcedure($someInParameter1, $someInParameter2, @someOutParameter)");
$dbh->query("SELECT @someOutParameter");
// OR, if you want very much to use PDO.Prepare(),
// insert "SELECT @someOutParameter" in your stored procedure and then use:
$stmt = $dbh->prepare("CALL SomeStoredProcedure(?, ?)");
$stmt ->execute(array($someInParameter1, $someInParameter2));