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

mysql:8174

From: "山内" <"山内" <GEG03466@xxxxxxxxxx>>
Date: Sat, 30 Aug 2003 00:59:30 +0900
Subject: [mysql 08174] Re: MYSQL UPDATEで「?」を書込と「 NULL 」に化ける

菅原様
アドバイスいただいた皆様

ありがとうございました。菅原様ご指摘のとおりプレースホルダー
の取り扱いミスでした。
>  Perl+DBIを使っていて、
>
>  my $sth = $dbh->prepare( q{
>      UPDATE bbs_db_tbl SET comment="?" WHERE cnt=35
>  });
>  $sth->execute();
>
> のように書いているのであれば、「?」はプレースホルダとして扱われます。
>  このときexecuteの引数に何も書かれてませんので「undef=NULL」として扱わ
> れますから、
>
>      UPDATE bbs_db_tbl SET comment="NULL" WHERE cnt=35
>
> というSQLが発行されます。
> (なので、このNULLは文字列としての"NULL"です)
>
>  「?」にしたいのであればexecuteの引数に
>
>  $sth->execute('?')
>
> のように書くようにします。

入力フォームの内容をDBに書き込むCGIなので半角?が入力されたら
全角?に変換するようにします。
ありがとうございました。


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

      8165 2003-08-28 23:46 ["山内" <GEG03466@xxx] MYSQL UPDATEで「?」を書込と「 NULL 」に化ける
      8167 2003-08-29 09:10 ┣[きたぢま <kitajima@x]                                       
      8168 2003-08-29 09:32 ┣[Shinichi Maruyama <m]                                       
      8169 2003-08-29 10:27 ┣[SUGAWARA Hajime <sug]                                       
      8175 2003-08-30 06:17 ┃┗["KAWAI,Takanori" <GC]                                     
      8176 2003-08-30 11:16 ┃ ┣["山内" <GEG03466@xxx]                                   
      8177 2003-08-30 21:58 ┃ ┃┗["KAWAI,Takanori" <GC]                                 
      8181 2003-09-01 12:19 ┃ ┗[SUGAWARA Hajime <sug]                                   
->    8174 2003-08-30 00:59 ┗["山内" <GEG03466@xxx]