解決済みの質問
こんにちは。
現在、perlでmysqlにデータをinsertしているのですが、ある記号があった場合、挿入することが出来ません。
以下のようにしたところ、もし$titleや$komentoに「'」があった場合、insert文のシングルクオートと引っかかってるみたいです。
$dbh->do(qq|insert into suredo values ('$no','$title','$koment')|);
そこで、今度は
$dbh->do(qq|insert into suredo values ("$no","$title","$koment")|);
とした場合、今度は「"」があった場合ダメみたいです。
このような場合、「’」や「”」があってもinsertできる様にするにはどのようにしたらよろしいのでしょうか?
どのたかよろしくお願いします。
投稿日時 - 2007-09-22 15:54:52
1人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(2件中 1~2件目)
sakusaker7 さんが書かれているのは多分、
do メソッドは使わずに、
prepare メソッドでプレースホルダを使ったステートメントハンドルを取得して、
それに execute メソッドで値をのせてやれば、クオート考えなくてもいいよって事だと思いますよ。
my $sth = $dbh->prepare("INSERT INTO your_table( foo, bar , baz ) VALUES(?,?,?)");
$sth->execute( $foo , $bar , $baz );
>でもこれはDBIモジュールということになりますので、使えるかどうか・・・。
DBI使ってないんですか?
投稿日時 - 2007-09-27 18:22:03