2016-05-05 5 views
1

php PDOによってoracleのストアドプロシージャを呼び出す方法についてお手伝いできますか?私は次のストアドプロシージャを持っています。PHPを介してOracle SPからデータを取得するPDO [出力がカーソルです]

上記のストアドプロシージャ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

あなたはアウトプットパラメータを表示するにはどのように、その後

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)); 
+0

からこれをreferanceことができますか? – user2006506

+0

'@' あなたは出力に得ることができます ミニ例 しばらく($行= $ results2-> fetch_object()){ エコー$行 - > { "@のp_userid"}; } –

+0

しかし、私のSPはカーソルを取得します。だから私はそれをどのようにしますか? – user2006506

関連する問題