[PHP-users 9381] Re: PEAR + Oracleでストアドプロシージャを実行できない

Naomasa Numajiri php-users@php.gr.jp
Tue, 20 Aug 2002 00:51:01 +0900


こんばんは

こんなのはどうでしょう?
  $sql = 'exec TEST0001('."'".'123456'."'".')';
「"」ではさんでいるのでDBに投げる前にPHP側で解釈されているような気がするので。

(だめなら僕は降参です。)

参考になれば

-- ぬ

On Tue, 20 Aug 2002 00:45:50 +0900
php@cug.net wrote:

; お世話になります。
; 福田と申します。
; 
; 複数のDBMSに対応するシステムを作成するべく、PEARを使って開発を行って
; いるのですが、RedHatLinux 7.2J + Oracle9i + Apache1.3.26 + PHP4.2.2
; の環境だと、文末のソースのようにPEARからquery関数でストアドプロシージャを
; 呼ぶと、なぜか getMessage() のところでPEAR内部でsyntax errorが返ってきて、
; SQLの実行に失敗してしまいます。
; ただし、ここを通常のSELECT文に変えると正常に値が戻ってきます。
; 
; また、Windows2000 + SQL-Server2000 + Apache1.3.26 + PHP4.2.2 では
; 実行SQL文を $sql = "exec TEST0001 '123456'"; のように変更することにより、
; SQL-Server用のストアドプロシージャを実行できています。
; 
---中略---
; 
; [ 問題のソースファイル ]
; <?
;     (略)
;   $sql = "exec TEST0001('123456')";
;   $rc  = $this->con->query($sql);// connectionは正常です
;   if (DB::isError($rc)) {
;     die("PEAR ERROR: " . $rc->getMessage());
;   } else {
;     (略)
;   }
; ?>
; 
; 
; 
; _______________________________________________
; PHP-users mailing list
; PHP-users@php.gr.jp
; http://ns1.php.gr.jp/mailman/listinfo/php-users