• ベストアンサー

空フィールドが表示されない

A B C ----- 1 2 1 2 2 3 のようなテーブルを $strSQL = "select A,B,C from XXX"; $parsed = oci_parse( $db , $strSQL ); oci_execute($parsed); $data = oci_fetch_array($parsed, OCI_BOTH ); というコードから参照しようとすると、 Aの値のみしか参照されません。 DB上にデータある場合は、BもCも取得できます。 NULL値も参照するようにするには、どうすればよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • syuuiwsd
  • ベストアンサー率56% (17/30)
回答No.3

度々すみません、いい忘れたことがあります。 複数のstatement identifierを同時に設定するのに「+」で連結します。 $data = oci_fetch_array($parsed, OCI_BOTH + OCI_RETURN_NULLS );

w0a15455
質問者

お礼

お二人ともありがとうございました。 OCI_RETURN_NULLS があるのを知りませんでした。 解決です^^

その他の回答 (2)

  • syuuiwsd
  • ベストアンサー率56% (17/30)
回答No.2

すいません、さっきの話は多分間違いました。 $data = oci_fetch_array($parsed, OCI_BOTH ); の二番目の引数を、OCI_RETURN_NULLSで試したら? ご参考になればうれしいです。

参考URL:
http://jp.php.net/manual/zh/function.oci-fetch-array.php
  • syuuiwsd
  • ベストアンサー率56% (17/30)
回答No.1

foreach( $data as $drow ) { <...> if( $drow['B']==NULL ) echo "&nbsp;"; else echo $drow['B']; <...> } のように書けばだめですか? Oracle未経験ですから間違ったら許してください

関連するQ&A