PHP と MySQL を使用した現実世界の OOP

王林
リリース: 2023-08-26 19:48:01
オリジナル
763 人が閲覧しました

使用 PHP 和 MySQL 进行真实世界的 OOP

ロボットから自転車までの多くの例は、OOP の simple 説明として役立ちます。ただし、特にプログラマー向けに、実際のシナリオで OOP がどのように機能するかを示すことを好みます。実際の例は、MySQL CRUD (作成、読み取り、更新、および削除) クラスの作成です。このようにして、プログラマは、データベースの設計に関係なく、プロジェクト内のエントリを効果的に管理できます。

要件を決定したら、クラスの基本構造の作成は比較的簡単です。まず、基本的な MySQL 操作を実行できることを確認する必要があります。これを実現するには、次の関数を実装する必要があります:

    ###選ぶ### ###入れる### ###消去###
  • 更新
  • ###接続する###
  • 切断
  • クラス定義がどのようなものかを簡単に見てみましょう:
  • リーリー
  • 基本的に、これはデータベース接続を表し、データベースと対話するためのメソッドを提供する
  • Database
  • というスケルトン クラスです。
  • $db_host
$db_user

$db_pass

$db_name$con ## などのさまざまなプライベート プロパティを定義します。 #。このクラスは、データベース接続の詳細と接続オブジェクト自体を保存するために使用されます。 次のセクションでは、このクラスの実際の実装について詳しく説明します。 データベースクラスの実装 このセクションでは、さまざまなデータベース操作を実行するために必要なメソッドを実装します。 接続

メソッド

次のコード スニペットに示すように、

connect

メソッドの追加を続けます。

リーリー

connect このメソッドの目的は、mysqli 拡張機能を使用して MySQL データベースへの接続を確立することです。まず、データベースへの接続が既に存在するかどうかを確認します。存在する場合、メソッドは接続が確立されていることを示す true

を返すだけであり、再接続する必要はありません。接続がない場合は、

mysqli_connect 関数を使用してデータベースへの接続を試みます。

データベース接続が成功すると、

mysqli_select_db 関数を呼び出してデータベースが選択されます。最後に、データベースの選択が成功すると、接続が確立されデータベースが選択されたことを示す true が返されます。接続またはデータベースの選択に失敗した場合は、false が返されます。

切断メソッド disconnect メソッドを見てみましょう。 リーリー アクティブなデータベース接続があるかどうかを確認し、存在する場合は

mysqli_close()

関数を使用して接続を閉じ、$this->con プロパティを

false# に設定します。 ## 。

select メソッド

これは最も重要で頻繁に使用される方法の 1 つです。まず、テーブルが MySQL データベースに存在するかどうかを確認するための tableExists メソッドを作成します。 リーリー 次に、select

メソッドの実装を続けます。 リーリー データベースからレコードを取得するために使用されます。まず、入力パラメータを使用して SQL クエリ文字列を構築します。指定されたテーブルがデータベースに存在するかどうかを確認し、存在する場合はクエリを実行します。クエリが成功すると、結果の行がフェッチされ、連想配列として返されます。クエリが失敗した場合、このメソッドは

false

を返します。指定したテーブルがデータベースに存在しない場合も、false が返されます。

挿入メソッド

次のコード スニペットに示されている insert メソッドを見てみましょう。 リーリー mysqli 拡張機能を使用して、MySQL データベース内のテーブルにデータを挿入するために使用されます。この関数は、テーブル名、挿入する値、および (オプション) 挿入する列の 3 つのパラメータを取ります。まず、指定されたテーブルがデータベースに存在するかどうかを確認し、存在する場合は、指定された値と列を使用してデータを挿入する SQL クエリを構築します。

mysqli_real_escape_string

関数を使用して文字列値をサニタイズします。 最後に、

mysqli_query()

関数を使用してクエリを実行します。クエリが成功した場合、関数は true を返し、それ以外の場合は

false

を返します。

削除

メソッド delete メソッドを簡単に見てみましょう。 リーリー データベースからテーブルまたは行を削除するために使用されます。

更新メソッド

これは、データベース情報を更新するための重要な方法の 1 つでもあります。

update

メソッドの実装は次のようになります。

リーリー

update メソッドには、

$table

$rows

、および $where の 3 つのパラメーターがあります。次に、

$where

配列が解析されて、更新クエリの SQL WHERE 句が生成されます。 $rows 配列を解析して、更新クエリの SQL SET 句を生成します。配列のキーは列名を表し、配列の値は列の新しい値を表します。 mysqli_real_escape_string 関数を使用して文字列値をサニタイズします。 <p>至此,我们完成了数据库操作所需方法的创建。您可以将其另存为 <strong>Database.php</strong> 文件。</p> <p>在下一节中,我们将了解如何使用它。</p> <h2 id="toc-323h-how-to-use-the-database-class">如何使用<code>数据库

首先,我们在数据库中创建一个 MySQL 表,以便我们可以测试该表上的 CRUD 操作。

继续运行以下 SQL 来创建表。

CREATE TABLE `mysqlcrud` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
	`name` VARCHAR(255) NOT NULL,
	`email` VARCHAR(255) NOT NULL,
	PRIMARY KEY (`id`)
);
ログイン後にコピー

它应该在您的数据库中创建 mysqlcrud 表。

如何插入新行

让我们看看如何插入新行。

<?php
require "Database.php";

$db = new Database("DB_HOST", "DB_USER", "DB_PASS", "DB_NAME");

if ($db->connect()) {
    $db->insert('mysqlcrud', array(1,"Foo Bar","foobar@yahoo.com"));
} else {
    echo "There was some error connecting to the database.";
}
?>
ログイン後にコピー

首先,我们创建了一个新的 Database 对象,并将数据库凭据作为参数传递。您需要将其替换为您的凭据。接下来调用Database类的connect方法来建立与数据库的连接。如果连接成功,则调用 insert 方法,并将表名作为第一个参数,将新行的值数组作为第二个参数。

如果一切顺利,它应该在 mysqlcrud 表中创建一个新行。

如何更新行

让我们看看更新操作是如何工作的。

<?php
require "Database.php";

$db = new Database("DB_HOST", "DB_USER", "DB_PASS", "DB_NAME");

if ($db->connect()) {
    $db->update('mysqlcrud',array('name'=>'Updated Foo Bar'), array('id',1));
} else {
    echo "There was some error connecting to the database.";
}
?>
ログイン後にコピー

如您所见,我们调用了 update 方法来更新该行的 name 列。

如何删除行

接下来,让我们看看如何删除特定行。

<?php
require "Database.php";

$db = new Database("DB_HOST", "DB_USER", "DB_PASS", "DB_NAME");

if ($db->connect()) {
    $db->delete('mysqlcrud', "`id` = '1'");
} else {
    echo "There was some error connecting to the database.";
}
?>
ログイン後にコピー

它应该删除 id 等于 1 的行。

如何检索记录

让我们看看如何从表中检索所有记录。

<?php
require "Database.php";

$db = new Database("DB_HOST", "DB_USER", "DB_PASS", "DB_NAME");

if ($db->connect()) {
    $rows = $db->select('mysqlcrud');
} else {
    echo "There was some error connecting to the database.";
}
?>
ログイン後にコピー

如您所见,select 方法允许我们从所需的表中获取所有记录。

这就是您如何使用我们的类执行 CRUD 操作。

以上がPHP と MySQL を使用した現実世界の OOPの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート