PHPでのOracle利用(10)

解決して、空間検索が戻ってくる形になったのでPHPスクリプトにて発行した
結果は下記
ちなみに、返された日本語が文字化けしている問題は文字コード変換で解決した。htmlentitiesはマルチバイトに対応してないのか、通した日本語が文字化けてしまい、二重に文字化けしている状態だった。お陰でどちらかのみ修正しただけでは解決せず、気が付くのが遅れた

QUERY_ERROR->ORA-24374: フェッチまたは実行してフェッチする前に、定義されていません

?
SQL Plusから直にクエリを発行した時は、正常に値が帰ってくるが…phpだと定義が足りないのか
処理を遡って、どの時点でエラーが排出されているのか探る

ORA-00911: 文字が無効です。

クエリのパースをoci_executeしている時点でのエラー
全角空白や無効な文字がクエリに混入しているのか。とりあえず、発行するクエリの末尾の ;を消してみる。なんか、ピンと来たんだ
そして実行

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))

むう
MySQLphpから扱う時にはクエリの末尾に ;は有っても無くても問題なかったが、Oracleは有ってはならない様子。これは地味に躓きやすいポイントな気がする。他のDB…特にMySQLとかを弄った経験が長いほど気が付きにくいだろう。そうでもないか?