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

mysql:5962

From: "KAWAI,Takanori" <"KAWAI,Takanori" <GCD00051@xxxxxxxxxx>>
Date: Mon, 19 Aug 2002 06:24:34 +0900
Subject: [mysql 05962] Re: Perl + MySQL でのメタ文字の扱い方

川合孝典です。
ちょっと気になったので。

----- Original Message -----
From: "TATSUYA" <tatsuya@xxxxxxxxxx>
To: <ml@xxxxxxxxxx>
Sent: Sunday, August 18, 2002 9:58 PM
Subject: [mysql 05957] Re: Perl + MySQLでのメタ文字の扱い方


> S-Lines.netのTATSUYAです。
(中略)
> > my($s)= "SELECT some_field FROM some_DB WHERE
> > (a LIKE '?' and b LIKE '?')";

この部分は、
> > (a LIKE ? and b LIKE ?)";
とクォートがはずれていなければならないはずです。
http://theoryx5.uwinnipeg.ca/CPAN/data/DBI/DBI.html#Placeholders_and_Bind_Va
lues

また
>   当方、
>     $db->do("INSERT INTO $conf{'m_table'} SET no_res=''");
>   このようにINSERTをしているため、すべてを上記のように変更することが大変な
ため、
のように、テーブル名にはプレースホルダは使えません。
quoteでもクォートで囲まれますから、自前でエスケープするしかないでしょう。
MySQLの場合、prepareされたSQLに与えられたバインド値を
quoteして埋め込んで発行するという仕組みなので、ごまかせるかも
しれませんが。
#テーブル名をユーザ入力でっていうのが本当ならばですが。

===================================================
川合 孝典 (Hippo2000)
   DBI日本語メーリングリスト管理人、Kansai.pm所属
   kwitknr@xxxxxxxxxx GCD00051@xxxxxxxxxx
   http://member.nifty.ne.jp/hippo2000http://www.hippo2000.info/
「MySQL&Perl Webアプリケーション開発」の発売中
   http://member.nifty.ne.jp/hippo2000/mysqlperl.htm
===================================================


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

      5957 2002-08-18 21:58 [TATSUYA <tatsuya@xxx] Re: Perl + MySQL でのメタ文字の扱い方   
->    5962 2002-08-19 06:24 ┗["KAWAI,Takanori" <GC]                                       
      5967 2002-08-19 13:24  ┗[SUGAWARA Hajime <sug]