PHPでのOracle利用(5)

問題解決
何の事は無い、定義が緩い所為で空回りしている部分があっただけだった
定義を強化して解決。ともすれば、nullだった場合の回避も盛り込むべきなのかもしれない
こんな感じになった

<?php
/****************************************
*	OracleDB接続			*
*	作成日->2007/12/13		*
*	参考				*
*	Oracleを空間DBにした情報引出し	*
*	スクリプト			*
****************************************/
	
	
	$name="name";
	$pass="pass";
	$Entry="entry";
	
	//コネクション
	$conn=@oci_connect($name,$pass,$Entry);
	if(!$conn)
	{//接続エラー
		$error=oci_error();
		print"ERROR->".htmlentities($error['code']);
		exit;
	}
	else
	{//接続
		$query='SELECT SDO_UTIL.TO_WKTGEOMETRY(geom) FROM gis_t';
		//パース
		$stid=oci_parse($conn,$query);
		
		oci_execute($stid);
		//連想配列で習得
		$reqarray=@oci_fetch_assoc($stid);
		if(!$reqarray)
		{//クエリエラー
			$error=oci_error($stid);
			print"ERROR->".htmlentities($error['code']);
			exit;
		}
		else
		{//正常
			
			for($cnt=0;$reqarray;$cnt++)
			{//全件に対して
				//行の情報を連想配列で習得して出力
				$reqarray2=$reqarray['SDO_UTIL.TO_WKTGEOMETRY(GEOM)']->read(500);
				echo"$reqarray2<br>";
				$reqarray=@oci_fetch_assoc($stid);
			}
		}
	}
?>

これで、実行するとこんな感じで情報が返される

POLYGON ((5.0 1.0, 8.0 1.0, 8.0 6.0, 5.0 7.0, 5.0 1.0))
POLYGON ((5.0 1.0, 8.0 1.0, 8.0 6.0, 5.0 7.0, 5.0 1.0))
POLYGON ((5.0 1.0, 8.0 1.0, 8.0 6.0, 5.0 7.0, 5.0 1.0))
POLYGON ((5.0 1.0, 8.0 1.0, 8.0 6.0, 5.0 7.0, 5.0 1.0))
POLYGON ((5.0 1.0, 8.0 1.0, 8.0 6.0, 5.0 7.0, 5.0 1.0))
POLYGON ((5.0 1.0, 8.0 1.0, 8.0 6.0, 5.0 7.0, 5.0 1.0))
POLYGON ((5.0 1.0, 8.0 1.0, 8.0 6.0, 5.0 7.0, 5.0 1.0))
POLYGON ((5.0 1.0))

データの中身は実験用に放り込んだデータなので気にしない事。特に最後の破綻してるポリゴンとか(笑