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]