牛、豚、鶏、どれか一つ食べられなくなるとしたら?

A B C
-----

2 1
2 2


のようなテーブルを
$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値も参照するようにするには、どうすればよいのでしょうか?

A 回答 (3件)

foreach( $data as $drow )


{
<...>
if( $drow['B']==NULL ) echo "";
else echo $drow['B'];
<...>
}

のように書けばだめですか?

Oracle未経験ですから間違ったら許してください
    • good
    • 0

すいません、さっきの話は多分間違いました。



$data = oci_fetch_array($parsed, OCI_BOTH );
の二番目の引数を、OCI_RETURN_NULLSで試したら?

ご参考になればうれしいです。

参考URL:http://jp.php.net/manual/zh/function.oci-fetch-a …
    • good
    • 0

度々すみません、いい忘れたことがあります。



複数のstatement identifierを同時に設定するのに「+」で連結します。

$data = oci_fetch_array($parsed, OCI_BOTH + OCI_RETURN_NULLS );
    • good
    • 0
この回答へのお礼

お二人ともありがとうございました。

OCI_RETURN_NULLS があるのを知りませんでした。

解決です^^

お礼日時:2007/07/25 12:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!