[前][次][番号順一覧][スレッド一覧]

mysql:837

From: Sakae Kobayashi <Sakae Kobayashi <sakae@xxxxxxxxxx>>
Date: Sat, 24 Apr 1999 14:06:05 GMT
Subject: [mysql 00837] Re: How to use blob ?

  小林栄です。

> > $sql_cmd = qq#INSERT INTO pocket (id, setumei, nandemo) VALUES
> >    ("$id", "$setumei", "$nandemo");#
> >              
> > こんな感じで良いのでしょうか?

これでやると、しっかりエラーになりました。文字列の扱いに問題
ありと思いMySQLの文字列の扱いを調べてみたら、ご指摘の事項がしっかり
記載されてました。

  マニュアルを見てから作業にかかるか
  問題が出たらマニュアルを調べるか

どうも、私は後者の傾向が強いようです。これじゃイカンですね。

> $qnandemo = $dbh->quote($nandemo);

perlのquoteを使えと説明してあったので、 perldoc perlfunc して
quotemeta っていうのを探しあてたのですが、DBIにこんな便利な
ものが用意されているとは知りませんでした。

> また、$dbh->quote()を使用しない場合は、
>   $qsetumei = $setumei;
>   $qsetumei =~ s/\\/\\\\/g; #\を\\に置換
>   $qsetumei =~ s/\0/\\0/g;  #NULL文字を \0 に置換
>   $qsetumei =~ s/\'/\\\'/g; #'を \'に置換
>   $qsetumei =~ s/\"/\\\"/g; #"を \"に置換  (これは不要??)
>   $qsetumei = "'$qsetumei'";#両端に'を付加

MySQLの説明に忠実なやりかたですね。
PHPでは、便利な $dbh->quote()がなさそうなので、忠実なやり方を
しないとだめそうです。

-- 
 Mail: sakae@xxxxxxxxxx
 URL:  http://www.kumagaya.or.jp/~sakae/

[前][次][番号順一覧][スレッド一覧]

       821 1999-04-22 05:18 [Sakae Kobayashi <sak] How to use blob ?                       
       827 1999-04-22 11:36 ┗[IMAI Kenichi <kimai@]                                       
       831 1999-04-23 07:54  ┗[Sakae Kobayashi <sak]                                     
       835 1999-04-23 10:23   ┣["osamura" <o@xxxxxxx]                                   
       836 1999-04-23 10:55   ┗["MINOHATA Norio" <mi]                                   
->     837 1999-04-24 23:06    ┗[Sakae Kobayashi <sak]