[PHP-users 31928] Re: sql 文を関数化にするとエラーに

小野(健) ono.1982.kenji @ jp.fujitsu.com
2007年 4月 16日 (月) 08:50:24 JST


小野です。
横入りですみません。

こう言うのって、全体をクラス化して使わないのですが。

開発から離れて2年くらい経つので今のトレンドがわかりませんが・・・。
しかも細かい書き方忘れました。

class db_class {
   var cServer ;
   var cDBuser ;
   var cDBpasswd ;
   var con ;
   function db_class($DBSERVER,$DBUSER,$DBPASSWORD){
      $this->cServer = $DBSERVER ;
      $this->cDBuser = $DBUSER ;
      $this->cDBpasswd = $DBPASSWORD ;
      $con = mysql_connect($DBSERVER,$DBUSER,$DBPASSWORD);
      if(!$con){die( "接続に失敗しました");}
   }
   function db_query($SQL){
      $res = mysql_db_query($DBNAME , $query , $con);
      if(!$res){die( "sql発行に失敗しました");}
      $entry_data = mysql_fetch_array($res);
      mysql_close($con);
      return $entry_data;
   }
}

$p = new db_class(host, user, passwd) ;
$cResult = $p->db_query("select * from blog ORDER BY blog_date DESC LIMIT 0 , 1") ;

汎用性を求めるなら、こんな感じでもないんでしょうか。


> ユーザ関数化するのは汎用性を求めてですよね。
> ならこうした方が自然じゃないでしょうか・・。
> 
> function load_data($DBSERVER,$DBUSER,$DBPASSWORD){
> 
> 	$con = mysql_connect($DBSERVER,$DBUSER,$DBPASSWORD);
> 		if(!$con){die( "接続に失敗しました");}
> 
> 	$query = "select * from blog ORDER BY blog_date DESC LIMIT 0 , 1";
> 
> 	$res = mysql_db_query($DBNAME , $query , $con);
> 		if(!$res){die( "sql発行に失敗しました");}
> 
> 	$entry_data = mysql_fetch_array($res);
>    	 mysql_close($con);
>   	 return $entry_data;
> }



PHP-users メーリングリストの案内