PHPがORACLEストアドプロシージャに値を渡すときの処理方法

WBOY
リリース: 2016-06-13 12:50:46
オリジナル
793 人が閲覧しました

PHP は値を ORACLE ストアド プロシージャに渡します
私の顧客は、ストアド プロシージャ名 (pro)、データベース名、TNSNAME、アクセス パスワード、データ テーブル名、および 5 を私に教えてくれました。フィールド名。

次に、私が開発した PHP プログラム上でこの ORACLE ストアド プロシージャをリモートで呼び出したいと思います。目的は非常に簡単で、5 つの PHP 変数値をストアド プロシージャの 5 つのフィールドに渡すことです。 (pro)、S_a、S_b、S_c、S_d、S_e

さらに、上記の 5 つの値を受け取った後、ストアド プロシージャ (pro) はフィールド名 S_F
の結果値を返します。
具体的なコードは何ですか?

問題を解決してくれる専門家にポイントを全額支払います! !

-----解決策---------

PHP コード

$user = "scott" //データベースのユーザー名;
$password = "タイガー" //パスワード;
$conn_str = "tnsname"; //接続文字列 (cstr : Connection_STRing)
$remote = true //リモート接続するかどうか
if ($remote) {
  $conn = OCILogon($user, $password, $conn_str);
}
それ以外 {
  $conn = OCILogon($user, $password);
}
$a='S_a';
$b='S_b';
$c='S_c';
$d='S_d';
$e='S_e';
$sql_sp = "BEGIN PROC_TEST(:a, :b,:c,:d,:e); END;";

//解析する
$stmt = OCIParse($conn, $sql_sp);

//バインディングを実行する
OCIBindByName($stmt, ":a", $a, 30);
OCIBindByName($stmt, ":b", $b, 30);
OCIBindByName($stmt, ":c", $c, 30);
OCIBindByName($stmt, ":d", $d, 30);
OCIBindByName($stmt, ":e", $e, 30);
OCIExecute($stmt);<br><b>私の例外ネットワーク推奨ソリューション: </b>Oracle ストアド プロシージャ、http://www.myException.cn/oracle-develop/177537.html <div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート