忙しい現代人の腰&肩のお悩み対策!

PHP4.3.1、MySQL4.1.13を使用して、Webアプリケーションを製作しております。
幾つかの参考書籍やこれら情報に関するWebなどを見ていますと、後々データベースが変更になった時を考え、それぞれのデータベース用の関数を利用せずユーザ定義関数で処理した方が良いと書かれていました。
ただ、データーベースの処理と言っても様々な処理があると思いますし、それら全てをユーザ定義関数で置き換えなくてはならないのかな?と疑問(迷い)を感じております。
皆様は、どの様にされていますでしょうか?または、どの様に考えたら良いでしょうか?プログラミングの基本的な事かもしれませんが、どなたかご教授いただけないでしょうか?
宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

私は、PEARを使っています


http://pear.php.net/manual/ja/
を使っています
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/08/05 12:45

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2005/08/06 17:33

avg(),count(),max(),min(),sum()


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

この回答への補足

早々のご回答有難うございます。
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。
別途ユーザ定義関数でこれら処理を全て記述するべきなのかな?と悩んでおります。
質問のタイトルが適当ではありませんでした。
申し訳ございませんでした。

補足日時:2005/08/05 12:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング