[PHP-users 5497] Re: select で取り出した値に含まれる変数の展開について

Shigeki Mimura php-users@php.gr.jp
Mon, 18 Feb 2002 14:56:24 +0900 (JST)


三村です。

senshu> 東志さま、御教授いただいたとおり、eval()で解決
senshu> 出来ました。
senshu> 具体的には
senshu> 
senshu>  <?
senshu>  $dbconnect = pg_connect("dbname = mydbname");
senshu>  $result = pg_exec($dbconnect,"select * from tablename");
senshu>  $a="foo";
senshu>  $b = pg_result($result,0,0);    // 「$a bar」の取り出し
senshu>  eval("\$b = \"$b\";");
senshu>  print("$b");
senshu>  ?>

eval使えば動くって言うのはぞうなんだけど...
RDB使って変数名をカラムに入れて、それを使うって言うのはどうもって思うんですが。
これやるんだったら、

create table hoge (
       column_1	  text,
       column_2	  text
);

ってテーブルがあるとして、データが

column_1|column_2
------------------
foo     | baa

だったとしたら、

select (column_1 || ' ' || column_2) as b from hoge where column_1 like 'foo';

とかで取り出した方が良くないすか?

まあ、何をしようとしているか良く分からないからなんとも言えないですけどね。

もし良かったら、RDBやSQLの事をもっと勉強して下さい。
PostgreSQLを使っているならお勧めは、

はじめてのPostgreSQL
ISBN4-89471-461-2

です。
この本はPostgreSQLを使って具体例を示していますが、RDBの根本的な事に対して
かなり良く書かれていると思います。
ご一読あれ。