[PHP-users 13837] Re: SQL文の作成
Koji KUSANAGI
php-users@php.gr.jp
Fri, 07 Mar 2003 22:00:07 +0900
草薙です。
以前私のメールに記した、可変変数を使用されることで *2 の部分がご要望の形
に近づくとは思います。可変変数についてはお調べになられましたでしょうか?
各フィールドと同じ名称の変数に代入すべき値が入っているとすれば、下記コー
ドのような処理をすれば *1 〜 *2 の代替になるかと思います。未検証ですが。
$cnt = 0;
$COL_DATS = array();
$result = mysql_list_fields( $dbname, $tbname, $conn);
while ( $cnt < mysql_num_fields( $result)) {
$fdname[$cnt] = mysql_fieldname( $result, $cnt);
$COL_DATS[$fdname[$cnt]] = ${$fdname[$i]};
++$cnt;
}
もちろん、変数が未定義だった場合や、register_globals = On で変数が汚染さ
れていた場合等を考慮する必要はあるかとは思いますが。
# 私にはこの方向性でのモジュール化にあまりメリットは感じられません。
> <*2>を、いろいろやってみたのですが、$dat部に、データが入ってなくて、
>$keyに$がついた、$datの中身が$category_name などとなってしまいます。値が
>どうしても渡せません、と言うか、渡すほうの記述が悪いのだと。
お節介かも知れませんが、色々やってみた内容を全て書いて頂けると、田村様が
失敗した原因が特定できるかもしれませんし、私の方で同じ失敗をしてしまうこ
とを防げるかもしれません。
----------------------------------------------------
草薙考司 <kusanagi@crumple.co.jp>