PHP_PHP チュートリアルでのデータベース操作のカプセル化
PHP でのデータベース操作のカプセル化
動的 Web デザインの多くにはデータベース操作が含まれますが、必要に応じて他のバックエンド データベースが使用される場合、多くのプログラムの変更が必要になる場合があります。これは面倒で時間がかかり、エラーが発生しやすい作業です。実際、PHP のクラスを使用してデータベース操作をカプセル化できるため、作成されたプログラムは非常に小さな変更でバックグラウンド データベースへの変更を完了できます。
これを dbfz.inc にカプセル化し、その設計は次のようになります:
class dbInterface{ var $dbID=1; // dbID が 1 の場合、それを決定するために使用されます。 2はSQL Server、3はODBCなどを表します。
var $dbHost; //データベースが配置されているホストのドメイン名
var $dbUsername; //データベースのユーザー名
var $dbPassword; //ホスト、ユーザー名、パスワードの関数を設定します
function setParameter($host,$username ,$password){
$this->dbUsername=$username;
$this->dbPassword=$password;
;接続ライブラリ関数
function dbConnect (){
switch($this->dbID)
{
return @mysql_connect($this->dbHost,$this->dbUsername,$this->dbPassword );
case 2;
//SQL Server をサポートする関数を使用する
case 3;
//ODBC をサポートする関数を使用する
}
}
//データベース関数を閉じる
function dbClose($dataHandle){
switch($ this->dbID)
{
case 1;
mysql_close($dataHandle)
case 2;
//SQL Server をサポートする関数を使用する
}
} // SQL ステートメント関数を実行します
function dbQuery($dbName,$sql,$dbHandle){
switch($this->dbID)
{
case 1;
return @mysql_db_query($dbName,$sql,$dbHandle) ;
case 2;
//SQL Server をサポートする関数を使用する
case 3;
//ODBC をサポートする関数を使用する
}
//SQL 戻り値の現在のレコード関数を取得する
function dbFetchrow($dataHandle, $offset=-1){
switch($this->dbID)
{
@mysql_data_seek($dataHandle,$offset);
case 2; SQL Server をサポートする関数を使用する
case 3;
//ODBC をサポートする関数を使用する
}
}
//レコード数を取得する関数を返す
function dbNumrows($dataHandle){
switch($this-> ;dbID)
{
case 1;
return @mysql_num_rows($dataHandle);
//SQL Server をサポートする関数を使用する
case 3;
// /列の数を取得する関数を返します
function dbNumcols($ dataHandle){
switch($this->dbID)
{
return @mysql_num_fields($dataHandle)
// SQL Server をサポートする関数を使用する
case 3;
//サポート ODBC 関数を使用する
}
}
}
使用手順は次のとおりです:
プログラム内でオブジェクトを生成するには dbInterface クラスを使用します $test=new dbInterface ;
パラメータを設定する
test->$dbUsername;
test->$dbPassword;Password
test->$dbHost;Host
void setParameter(string host, string username, string username);接続: dbhandle test->dbConnect();
戻り値: fasle 、データベース接続エラー
>0、データベース接続ハンドル
データベースが閉じられました: void test->dbClose(dbhandle);
テーブル操作: int test->dbQuery(string データベース名, string sql, dbhandle); SQL ステートメントを実行します
戻り値: false、SQL 実行エラー
>0、SQL 実行は正常で、SQL 戻り値
Data 操作を指します: int test->dbFetchrow(dataHandle, int offset); SQL 戻り値 Record の現在の値を取得します。実行が成功すると、ポインタは次のレコードに移動します
int test->dbNumrows(dataHandle); SQL 実行後に取得されるレコードの数 (主に SELECT ステートメント)
int test->dbNumcols(dataHandle); SQL の実行後に取得されるレコード フィールドの数 (主に SELECT ステートメント)
次に、説明するための例を送信します。データベースは MQSQL を使用します。ホスト名は「localhost」、ユーザー名は「root」、パスワードは「」です。
mysql には testdb データベースとテーブル table1 が含まれています: name フィールドと pay フィールド
require("testdb.inc"); //dbInterface classをロード
$test = new dbInterface;//class dbInterfaceを使用してオブジェクトを生成します
$ test-> ;setParameter("localhost","root","");//データベースパラメータを設定します
$db = $test->dbConnect();//データベースに接続します
$Query = "SELECT name,pay FROM table ";//SQL ステートメントを設定します
$temp_result = $test->dbQuery("testdb",$Query,$db);//データメインデータベース操作を実行します
echo "
";
$ls_num = $ test->dbNumrows($temp_result); //クエリ結果のレコード数を取得します
echo $ls_num;
if (ls_num>0 )
$ls_col = $test -> ;dbNumcols($db); //テーブル内の列の数を取得します
echo $ls_col;
$cate_result=$test->dbFetchrow($temp_result,0); //レコード数を取得
$hcid=$cate_result[0]の1行目;//nameの値を取得
$hcate=$cate_result[1];//payの値を取得
echo $hcid;
echo "
";
echo $hcate;
}
?> データベースに対する操作。他のデータベースを操作したい場合は、dbInterface クラスの dbID 変数を変更するだけです。
http://www.bkjia.com/PHPjc/316495.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/316495.html
技術記事

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
