CGI-BBS > データベース > その他 > MYSQL UPDATEで「?」を書込と「NULL」に化ける


カレッヂ
カレッヂ


質問者 山内 健嗣  投稿日 8/24(日) 23:34:29
■環境 mysql v1.4 for win2000,win/xp、PERL 5.0
■現象
  (1)PERLアプリからdb項目 commentを下記sqlでアップデート
      update bbs_db_tbl set comment = "?" where cnt=35;
  (2)上記項目を同じくアプリから参照すると'NULL’となってしまう。
   確認のために、DOS窓からmysql> select  comment from bbs_db_tbl where cnt=35;
   とコマンド投入すると確かに下記の通りNULLとなっている。
    +---------+
    | comment |
    +---------+
    | NULL    |
    +---------+
    (3)一方、今度はDOS窓からコマンド update bbs_db_tbl set comment = "?" where cnt=35;
   を投入して同じくSELECTでデータ内容を確認すると、今度は意図したとおり'?'になって
   います。

   なお、(1)のUPDATEコマンドはSQL発行の直前でスナップをとってcomment = "?"
  になっていることを確認しています。

  よろしくご教授ください。

プロバイダ参照:
サーバのOS:WINサーバ
パソコンのOS:WinNT系
エディタ:TERAPAD
FTPソフト:
サーバ移転:していない
改造:していない
CGI習熟度:(未選択)

回答者 RKLR  [削除]  投稿日 2004/3/12(金) 20:38:17
こんばんは。RKLRです。
たとえば、こういう感じだと思います.

my $update_str = "更新内容";
my $dbh = "人それぞれ設定する個所"
my $sql = "update bbs_db_tbl set comment = ? where cnt=35";

$dbh->do($sql, undef, $update_str);
$dbh->disconnect ();

上記のやり方で問題ないと思います.プレスホルダーを””で囲ってはだめだと
思います.

返信(回答)する

 


Web裏技