[PHP-users 13529] Re: OCIError のmessage出力について

Kenji ono php-users@php.gr.jp
Sat, 22 Feb 2003 14:32:02 +0900


小野と言います。

No1とNo2は同じジョブ内で動作させようとは思ってないですよね。
以下の記述の仕方だと、No1が流れた後にNo2は流れるように見えます。
No2が流れれば、当然No1で出力した$MSG内容がNo2の内容に変わります。

それは別として、注1の部分の期待値が
 「window.alert('Oracle Error') ;」
であるとするとこの文法でなってます?
ブラウザの「表示(V)」-「ソース(C)」でソースを見て下さい。
期待値になってますか。
こんな感じになってません?
 「window.alert(OracleError') ;

きちんと記述するなら、
  print("window.alert('" .$msg ."');");
こうですか。
PHPから遠ざかっているので自信がないですが・・・。
PHP自身でエラー表示されないのが不思議・・・。

> OCIError()が出力するエラーメッセージについて教えてください。
> 
> $this->_conn = @OCILogon($this->_user, $this->_passwd, $this->
_netstr);
> if(!$this->_conn){
> 	$this->_error = OCIError();
> 	$msg = $this->_error["message"]; // NO1
> 	$msg = "ORCL ERR NO:XXXXXXXXXXX; // NO2
> 
> 	print("<script language='JavaScript'>");
> 	print("window.alert('.$msg."');");   <-注1
> 	print("</script>");
> 		
> 	print "オラクルエラー :"."</br>".$msg;
> 	return false;
> }else{
> 	return true;
> }
> 
> JavaScriptでNO1のケースが出力されません。
> 後のprint文は出力OKです。
> NO2は出力確認しています。
> stringにキャストもしてみましたがだめでした。
> どなたかよろしくお願いします。