DB接続/更新/検索クラスもどき

postgres.php

<?php
	class postgres
	{
		function connect()
		{//接続
			try{
				//接続定義呼び出し
				require('user_cnf.php');
				$dbconn=pg_connect("host=".$host." dbname=".$db." user=".$user." password=".$pass);
				$bs=pg_connection_busy($dbconn);
				if($bs)
				{//接続がビジー
					exit('connection is busy');
				}

				return $dbconn;
			}
			catch (string $e)
			{
				echo'ERROR_MES=>'.$e.'<br>';
				error_mes();
			}
		}
		function select($sql)
		{
			$mes=FALSE;
			//コネクト
			$db_class=new postgres();
			$dbconnect=$db_class->connect();
			$result=pg_query($dbconnect,$sql);
			if($result)
			{//ヒット
				$cnt2=0;
				$array=null;
				for($cnt=0;$row=pg_fetch_array($result);$cnt++)
				{
					while($str=each($row))
					{
						$encoding=mb_detect_encoding($str['value'],"UTF-8,EUC-JP");
						if($encoding!="UTF-8")
						{//UTF-8以外なら
							//コード変換
							$array[$cnt2][$str['key']]=mb_convert_encoding($str['value'],"UTF-8",$encoding);
						}
						else
						{
							$array[$cnt2][$str['key']]=$str['value'];
						}
					}
					$cnt2++;
				}
				$mes=json_encode($array);
			}
			//切断
			pg_close($dbconnect);
			return $mes;
		}
		function update($sql)
		{
			try{
				$mes=null;

				$db_class=new postgres();
				$dbconnect=$db_class->connect();
				$result=pg_query($dbconnect,$sql);
				if($result)
				{//アップデート成功
					$mes=true;
				}
				else
				{
					$mes=false;
				}

				//切断
				pg_close($dbconnect);

				return $mes;
			}
			catch (string $e)
			{
				echo'ERROR_MES=>'.$e.'<br>';
				error_mes();
			}
		}
		function inset($sql)
		{
			try{
				$mes=null;

				//コネクト
				$db_class=new postgres();
				$dbconnect=$db_class->connect();
				$result=pg_query($dbconnect,$sql) or die('pg_error!!=>'.pg_last_error());
				if($result)
				{//インサート成功
					$mes=true;
				}
				else
				{
					$mes=false;
				}

				//切断
				pg_close($dbconnect);

				return $mes;
			}
			catch (string $e)
			{
				echo'ERROR_MES=>'.$e.'<br>';
				error_mes();
			}
		}
		function error_mes()
		{
			exit('pg_error!!=>'.pg_last_error());
		}
	}
?>

user_cnf.php

<?php
	//ユーザー定義
	$user="postgres";
	$pass="postgres";
	$db="mydb";
	$host="localhost";
?>

使用例・検索

<?php
	$sql="SELECT * FROM test";
	require_once('postgres.php');
	$db_class=new postgres();
	$req=$db_class->select($sql);
	$mes=json_decode($req);
	//mesに戻り値が入ってる
?>

sql文引き渡すというトンでも仕様
…でも一番直感的なんだよなー