• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データベースのユーザ定義関数について)

データベースのユーザ定義関数について

このQ&Aのポイント
  • データベースの処理においてユーザ定義関数を利用すべきかについて疑問を感じています。
  • 参考書籍やWeb情報では、データベースの変更に備えてユーザ定義関数を使用することが推奨されています。
  • ただし、すべてのデータベース処理をユーザ定義関数で置き換える必要があるのか悩んでいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

私は、PEARを使っています http://pear.php.net/manual/ja/ を使っています

jone
質問者

お礼

ご回答有難うございます。 やはりPEARを使用するのが一般的なのでしょうか? 少しだけ、これら情報を見てみたのですが、少々複雑な印象を受けましたので敬遠しておりました。 もっとPEARについて調べてみようと思います。 有難うございました。

その他の回答 (2)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

そういうことでしたらNo1の方に同意です

jone
質問者

お礼

ご教授有難うございました。 今回は、あまりユーザ定義関数に拘るのを止めて、標準関数内で処理しようと思っています。 後々、PEARを勉強しつつ使用していきたいと思います。 有難うございました。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

avg(),count(),max(),min(),sum() などのANSI標準で全てのSQLサーバで使えるものは使って構わないと思います。 文字列操作関数や日付関数などはPHPの標準関数で使えるので互換性を考えるならPHPで処理したらいいでしょう。

jone
質問者

補足

早々のご回答有難うございます。 Cまたは C++で記述するデータベース内でのユーザ定義関数ですね。 実は、PHP内で定義するユーザ定義関数で悩んでおりまして。。。 例えば、以下の様な感じです。 例)データベース接続の場合のユーザ定義関数 ------------------------------------------------- function db_connect($host="xxxxx",$user="xxx",$pass="xxxxx"){ global $con; if(!$con=@mysql_connect($host,$user,$pass)){ return FALSE; } //例えば、MySQL->PostgreSQLに変更があった場合 //上記コードを以下の様に書き換える //$db="xxx"; //$port="xxxx"; //if(!$con=@pg_connect$host,$port,$db,$user, $pass)){ // return FALSE; //} } ------------------------------------------------- 引数もデータベースが変更されれば、当然修正を行わなければならず、SQLを実行する場合の、「mysql_query」や「pg_query」、SQLの結果を返す、「mysql_fetch_array」、「pg_fetch_array」・・・etc。 別途ユーザ定義関数でこれら処理を全て記述するべきなのかな?と悩んでおります。 質問のタイトルが適当ではありませんでした。 申し訳ございませんでした。

関連するQ&A