[PHP-users 7323] ブール型の変数について

Takeshi Suyama php-users@php.gr.jp
Thu, 09 May 2002 09:20:58 +0900


須山です。

現在,php4でデータベース(Postgresql)を使ったプログラムを
作っているのですが,ブール型の変数の処理で躓いております。

データベースのあるテーブル(hoge)にis_existsというカラムが
あります。このカラムのデータ型はboolです。

それで,このカラムis_existsのデータを変更するプログラムを作
りたいのですが,うまくいきません。

とりあえず,psqlを使い,下記のようなsql文を使えばうまく動く
ことを確認しています。

update hoge SET is_exists = false;

ただ,プログラム上では,ブール型の変数$is_existsを使って,下
記のように

$sql = "update hoge SET is_exists = {$is_exists}";

動的にsql文を生成しているのですが,$is_existsがtrueの場合は
$sqlには

update hoge SET is_exists = 1

となり,$is_existsがfalseの場合は

update hoge SET is_exists = 

となります。私の希望としては,それぞれ

update hoge SET is_exists = true
update hoge SET is_exists = false

という風にsql文を生成したのですが,うまい方法が見つけられま
せんでした。関数hoge(hogehoge)を作り,引数hogehogeがtrueであ
れば,文字列true,falseであれば,文字列falseを返すようにしよ
うかと思ったのですが,これではちょっとダサイ気がします。

(こんな感じ)
$sql = "update hoge SET is_exists = " . hoge($is_exists);

おそらく,よりスマートな処理の方法があるかと思いますが,もし
よろしければ,ご教示していただけると幸いです。

phpのバージョンは4.0.3を使用しております。

よろしくお願いいたします。

-- 
Takeshi Suyama mailto:tsuyama@be.to