[kansaipm] Re: Apache::Sessionで新規のセッションIDを指定できますか?

Tatsuhiko Miyagawa miyagawa at edge.co.jp
Tue May 21 03:02:11 CDT 2002


宮川です。

At Tue, 21 May 2002 16:26:42 +0900,
takimoto wrote:
 
> で ついでにPostgreSQLを使った場合も試してみましたら...
> Apache::Session::File ほど単純ではないようですね.
> 
> 単に id が1のレコード作っただけでは Base64 がどうのこうのと怒られてし
> まってだめだったので,これも同じように

Pgsql だとバイナリデータを入れる代わりに base64 en/decode していますよ
ね。これって本来は bind_param で型のタイプを指定すればバイナリでも問題
なく通るんじゃないかとおもうんですが。

ちょっと話それちゃいますが、実はおなじ問題は Class::DBI にもあるんです。

  $sth = $dbh->prepare('INSERT INTO table VALUES (?, ?)');
  $sth->execute($text, $binary);

としたときに $binary の方で ヌル文字がはいってるとかってこけちゃう、例
のヤツで、上記のとおり bind_param で型を指定すれば問題なくいきます。

DBD::mysql だと型指定しなくても平気なんですが、これって DBD 側でなんと
かするものでもないんですかね? Class::DBI の自動生成するSQL も 
placeholder つくって execute() するだけなので、バイナリが入れられない
ので、変えようとおもってるんですが。どうなんでしょう。



-- 
Tatsuhiko Miyagawa <miyagawa at edge.co.jp>



More information about the Kansai-pm mailing list