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

mysql:4969

From: "KAWAI,Takanori" <"KAWAI,Takanori" <GCD00051@xxxxxxxxxx>>
Date: Fri, 18 Jan 2002 13:44:08 +0900
Subject: [mysql 04969] Re: 数値型の扱いについて

川合孝典です。

----- Original Message -----
From: "Youhei Hayakawa" <hayakawayuh@xxxxxxxxxx>
To: <ml@xxxxxxxxxx>
Sent: Friday, January 18, 2002 11:38 AM
Subject: [mysql 04958] 数値型の扱いについて


> はじめまして
> 早川と申します。
(中略)
> として作った sql を流す際に $i が NULL ですと、error が
> 帰って来ます。
> 従って、その対策として
>
> $sql = "select * from table";
> $sql .= "where hoge = '$i'";
>
> の様に、$i を '' で囲ってしまうとエラーが出なくなるので
> すが、ホントにこれで良いのかと不安に思っています。
> これは対応として mysql 的に正しいのでしょうか?
データが正しくとれないかも知れないという意味では
どうかと思いますが。

$iがundefの場合には0の値がとれて欲しいんでしょうか?
それともNULLの値が取れて欲しいんでしょうか?
#今のままでは0のものがとれるはずですが
0のものが取れて欲しいのであれば、$iに明示的に0を入れるほうが
正しい対応ではないかとも思います。
# $i = 0 unless($i); とかして

NULLのものをとりたい場合、DBIを使っているのであれば、
ちょいと大掛かりですが、こんな手もありかなと。

$hSt = $hDb->prepare(
  'SELECT * FROM test where IF(ISNULL(?), hoge is NULL, hoge=?)'
);
$hSt->execute($i, $i);

===================================================
川合 孝典 (Hippo2000)
   DBI日本語メーリングリスト管理人、Kansai.pm所属
   kwitknr@xxxxxxxxxx GCD00051@xxxxxxxxxx
   http://member.nifty.ne.jp/hippo2000
   http://www.hippo2000.net/
===================================================


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

      4958 2002-01-18 11:38 [Youhei Hayakawa <hay] 数値型の扱いについて                    
      4959 2002-01-18 11:44 ┣["Ningfeng Yang" <yan]                                       
      4960 2002-01-18 11:51 ┣[Satoshi Koiwa <koiwa]                                       
      4961 2002-01-18 12:10 ┣[Noriyuki Sakimura <s]                                       
      4970 2002-01-18 13:52 ┃┗[Youhei Hayakawa <hay]                                     
->    4969 2002-01-18 13:44 ┗["KAWAI,Takanori" <GC]