ホームページ  >  記事  >  バックエンド開発  >  PHP+MySQL がデータベースの追加、削除、変更、クエリ操作を実装する方法

PHP+MySQL がデータベースの追加、削除、変更、クエリ操作を実装する方法

PHPz
PHPzオリジナル
2023-03-23 16:53:131555ブラウズ

PHP と MySQL は、現代の Web 開発で最も人気のあるテクノロジーです。これら 2 つのテクノロジを使用することで、開発者はデータの保存と取得を含む動的な Web アプリケーションを構築できます。この記事では、PHP と MySQL を使用して、データベースに追加、削除、変更、クエリ操作を実装する方法を紹介します。

1. 環境構成

始める前に、PHP と MySQL の開発環境が構成されていることを確認する必要があります。そうでない場合は、自分でインストールして構成してください。コードをテストするために、開発にはローカル環境を使用します。Web サーバー、PHP、および MySQL がローカルにすでにセットアップされていることを前提としています。

2. データベースの作成

まず、データベースを作成する必要があります。 MySQL クライアントを使用してサーバーにログインし、コンソールで次のコマンドを実行してください:

CREATE DATABASE test;

これにより、「test」という名前のデータベースが作成されます。次に、このデータベースに切り替える必要があります:

USE test;

次に、ユーザーの情報を含む「users」という名前のデータ テーブルを作成します。

CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
email VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

これにより、ID、名前、電子メール、パスワードの 4 つのフィールドを含む「users」という名前のデータ テーブルが作成されます。 id は、ユーザーの一意の識別子として使用される自動増加する整数です。名前フィールドと電子メール フィールドには、それぞれユーザーの名前と電子メール アドレスが保存されます。パスワード フィールドには、ハッシュ化して保存する必要があるユーザーのパスワードが保存されます。 created_at フィールドは、ユーザー アカウントの作成時刻を保存するために使用されます。

3. データベース接続の設定

PHP では、mysqli 拡張機能を使用してデータベース接続を管理します。まず、データベース接続の構成値を保存するためにいくつかの定数を定義する必要があります。この例では、ユーザー名 root、パスワードを空、データベース名 test を使用してローカル MySQL サーバーに接続します:

define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'test');

次に、mysqli_connect() 関数を使用してデータベース サーバーに接続します。

$mysqli = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

接続に失敗すると、エラー メッセージが返されます。成功すると、作成、読み取り、更新、削除という 4 つの基本的なデータベース操作を実行できます。

4. 追加、削除、変更、およびクエリ操作の実装

  1. データベースへの追加

次の関数は、次の目的で使用されます。データにユーザー情報を追加します。テーブル内:

function create_user($name, $email, $password) {
global $mysqli;

$hashed_password = password_hash($password, PASSWORD_DEFAULT);

$stmt = $mysqli->prepare("INSERT INTO users (name, email, password) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $name, $email, $hashed_password);
$stmt->execute();

return $mysqli->insert_id;
}

この関数には、ユーザー名、電子メール アドレス、パスワードの 3 つのパラメーターが必要です。まず、password_hash() 関数を使用してパスワードをハッシュします。次に、prepare() 関数を使用して、ユーザー名、電子メール アドレス、ハッシュされたパスワードをデータ テーブルに追加する SQL クエリを準備します。 bind_param() 関数は、パラメータをクエリ プレースホルダにバインドし、クエリを実行します。最後に、insert_id() 関数を使用して、新しいユーザーの一意の識別子を取得します。

  1. データベースからデータを取得する

次の関数は、ユーザーの ID を通じてデータベース内のユーザー情報を取得します:

function get_user($id) {
global $mysqli;

$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();

$result = $stmt->get_result();

if ($result->num_rows === 0) {
    return null;
}

return $result->fetch_assoc();
}

この関数には 1 つのパラメーターが必要です。ユーザーの一意の識別子。 prepare() 関数を使用して、指定された ID に一致するデータ テーブル内のユーザー情報を選択する SQL クエリを準備します。 bind_param() 関数は、パラメータをクエリ プレースホルダにバインドし、クエリを実行します。次に、get_result() 関数を使用してクエリ結果を取得し、連想配列 (レコードが見つかった場合) または null (レコードが見つからなかった場合) を返します。

  1. データベースの更新

次の関数はデータベース内のユーザー情報を更新するために使用されます:

function update_user($id, $name, $email, $password) {
global $mysqli;

$hashed_password = password_hash($password, PASSWORD_DEFAULT);

$stmt = $mysqli->prepare("UPDATE users SET name = ?, email = ?, password = ? WHERE id = ?");
$stmt->bind_param("sssi", $name, $email, $hashed_password, $id);
$stmt->execute();

return $stmt->affected_rows === 1;
}

この関数には 4 つのパラメーターが必要です: ユーザー ID、ユーザー名前、メールアドレス、パスワード。まず、password_hash() 関数を使用してパスワードをハッシュします。次に、prepare() 関数を使用して、指定された ID に一致するデータ テーブル内のユーザー情報を更新する SQL クエリを準備します。 bind_param() 関数は、パラメータをクエリ プレースホルダにバインドし、クエリを実行します。最後に、affected_rows() 関数を使用して更新が成功したかどうかを確認し、ブール値を返します。

  1. データベースからのデータの削除

次の関数は、データベースからユーザー情報を削除するために使用されます:

function delete_user($id) {
global $mysqli;

$stmt = $mysqli->prepare("DELETE FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();

return $stmt->affected_rows === 1;
}

この関数には 1 つのパラメーターが必要です: user ID。 prepare() 関数を使用して、指定された ID に一致するユーザー情報をデータ テーブルから削除する SQL クエリを準備します。 bind_param() 関数は、パラメータをクエリ プレースホルダにバインドし、クエリを実行します。最後に、affected_rows() 関数を使用して、削除が成功したかどうかを確認し、ブール値を返します。

5. デバッグと最適化

あらゆる Web 開発プロセスにおいて、デバッグと最適化は非常に重要です。コードをデバッグするには、error_reporting() 関数と ini_set() 関数を使用できます。これらの関数は、エラー報告レベルとエラー メッセージの表示設定を設定するために使用されます。コードを最適化するには、データベース クエリで文字列の連結をできる限り避け、代わりに prepare() 関数と binding_param() 関数を使用する必要があります。

6. 概要

PHP と MySQL を使用すると、データの保存と取得機能を備えた Web アプリケーションを簡単に作成できます。この記事では、これら 2 つのテクノロジを使用して、基本的なデータベース操作 (作成、読み取り、更新、削除) を実装する方法を説明しました。上記のコードを実装することで、データベースへの接続、データベース テーブルの作成、ユーザー データの追加、読み取り、更新、削除の方法を学びます。これらのスキルは、将来の Web 開発の仕事に非常に役立ちます。

以上がPHP+MySQL がデータベースの追加、削除、変更、クエリ操作を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。