[pgsql-jp: 29459] Re: テーブル検索の仕方を教えて下さい( 初歩)

clam @ infosakyu.ne.jp clam @ infosakyu.ne.jp
2003年 3月 22日 (土) 12:41:59 JST


お世話になります、甲斐です。
大場さん、三渕さんありがとうございます。
ご指摘をいただき自分なりにしらべて考えてみました。

$sql = "SELECT  user_id FROM tmp WHERE user_id = '$id' ;" ;
		$result = pg_query($sql) ;
		
		if (!$result) {
		  echo "エラーが発生しました。\n";
		  exit;
		}
		if( pg_numrows($result) != 1 ) {
		  print ("IDが違います。") ;
		}

このようにしてみました、
これでも私の意図する動作はしたのですが、別のプログラムに影響
と言うよりは、手抜きしていた部分を作らされる羽目になりました(^^;)
このチェックだとIDが重複していた場合も

if( pg_numrows($result) != 1
print ("IDが違います。") ;

をプログラムが実行してしまい(理由がはっきりわからない)、あわててデータベースに登録する前に
データが二重登録してないかチェックするプログラムを書いたのですが
あまりスマートに出来ませんでした。

/*重複ネームチェック*/

$name = $_SESSION[post][name] ;
		
$sql = "SELECT  user_id FROM tmp WHERE user_id = '$id' ;" ;
$result = pg_query($sql) ;
	if ($result == false){
	print ("データを検索できません。");
	 
	 }else{

     	$rownum = pg_num_rows($result) ;
		
	        if ($rownum == "") {
		
		//まだ登録されていない
		
		} else {
		
		print ("$name" . "その名前はすでに登録されています。");
		
		pg_close($conn);
		
		}
	}
不満な部分はまだありますが、一応思い描いたことはできそうです



pgsql-jp メーリングリストの案内