[PHP-users 12957] Re: odbc 関数を利用しMSACCESS データをXML データへ
こうちゃ@フリーメール
php-users@php.gr.jp
Tue, 04 Feb 2003 12:01:59 +0900
こうちゃです
自分は、始めsybaseで作ってまして、
「sybase」では、sybase_fetch_array()が使えたのですが、
「ODBC」では、odbc_fetch_array()が何故か上手く動作しなかったので、
「odbc_resultで逃げ」ました^−^;;;
サンプル)
if(odbc_fetch_row($result) == TRUE)
{
for($i = 1; $i <= odbc_num_fields($result); $i++)
{
//インデックス値で登録
$row[$i - 1] = odbc_result($result, $i);
//キー項目で登録
$row[odbc_field_name($result, $i)] = odbc_result($result, $i);
}
}
「インデックス値」とは、0・1・2・3・・のインデックス(何番目)で、
「キー項目」とは、テーブル上の、キーの値です。
ここで2回登録してる理由は、sybaseのsybase_fetch_array()の機能だと、
「インデックス値」からでも、「キー項目」からでも、両方から内容取得可能!
でして、「同等の機能」をodbc_result()でやろうと四苦八苦した結果です><
(※どちらかだけで良いなら、odbc_result()は1つで可能)
例えば、以下のようなテーブルの場合、
(1行目) key=tokyo, val=東京
(2行目) key=osaka, val=大阪
(3行目) key=fukuoka, val=福岡
「大阪」を取り出す方法として、
row[2]と、row["osaka"]の2通りの方法が可能です。
ただ、sybase_fetch_array()の返す配列にて、何故、
この2通りの方法でアクセス可能なのかは、よく分かってません^^;
http://www.php.net/manual/ja/function.sybase-fetch-array.php
余計な部分(sybase_fetch_array()互換など)が多くて、すいません^。^;
しかし、「undefined function」ってのも気になりますよね?><
> Fatal error: Call to undefined function: odbc_fetch_array()とエラーが出てし
> まいます。ありがとうございました。
> エラーを解明し、odbc_resultの利用も考えていきます。ありがとうございました。
あと、デバッグ時は、XML部分は、外したほうがし易いかもしれません
(当方、XML部分は、更に分からないもので^−^;;;)