PDOデータベースを使用して追加、削除、変更、確認する方法

PHPz
リリース: 2023-04-24 14:41:40
オリジナル
1021 人が閲覧しました

インターネット アプリケーション開発において、データベースはすべての開発者が習得しなければならないスキルの 1 つです。 PHP は、動的 Web アプリケーションを開発するための最も一般的なプログラミング言語であり、データベース操作を処理する際にも重要です。 PDO は、PHP 拡張機能でデータベース操作を処理する方法です。ここでは、PDO を使用して基本的なデータベースの追加、削除、変更、クエリ操作を実装する方法を紹介します。

1. データベースへの接続

PHP を使用してデータベース操作を実行する前に、データベースに接続する必要があります。データベースに接続するには、接続する必要があるデータベースの種類、サーバーのアドレスとポート、データベースの名前、ユーザー名、パスワード、その他の情報を PDO に伝える必要があります。次のコードを使用して接続を確立できます。

$dsn = 'mysql:host=localhost;dbname=testdb';  // 服务器地址和数据库名称
$username = 'root';  // 用户名
$password = '123456';  // 密码

try{
    $dbh = new PDO($dsn, $username, $password);  // 创建PDO对象
}catch(PDOException $e){
    echo 'Connection failed: ' . $e->getMessage();  // 连接失败时输出异常信息
}
ログイン後にコピー

$dsn 変数には、データベースの種類 (mysql)、サーバーのアドレス (localhost)、および接続するデータベースの名前 (他のタイプのデータベースに接続するには $dsn の値は、必要に応じて変更できます。データベースに正常に接続すると、PDO オブジェクトのメソッドを呼び出して SQL ステートメントを実行できます。

2. データの挿入

データベースへの新しいデータの挿入は、Web アプリケーションの開発において非常に一般的な操作です。次のコードは、PDO を使用して新しいデータを挿入する方法を示しています。

$sql = "INSERT INTO `users` (`username`, `password`) VALUES (?, ?)";
$stmt = $dbh->prepare($sql);  // 准备查询语句
$username = 'admin';  // 假设的用户名
$password = md5('123456');  // 假设的密码
$stmt->execute(array($username, $password)); // 执行查询语句
ログイン後にコピー

SQL ステートメントを実行する前に、まずクエリ ステートメント $sql を準備する必要があります。クエリ ステートメント内の疑問符 (?) はプレースホルダーであり、PDO は prepare() メソッドの 2 番目のパラメーターに従ってプレースホルダーを置き換えます。 $stmtはSQL文の準備オブジェクトを表し、そのexecute()メソッドを呼び出すことでクエリ文が実行され、プレースホルダが実際のパラメータ値に置き換えられます。

3. データのクエリ

PDO を使用してデータベースにクエリを実行することも簡単です。PDO には、クエリ ステートメントを実行し、クエリ結果を PDOStatement オブジェクトに保存するための query() メソッドが用意されています。以下は、PDO を使用してデータベースをクエリする例です。

$sql = "SELECT * FROM `users` WHERE `username`=?";
$stmt = $dbh->prepare($sql);  // 准备查询语句
$username = 'admin';  // 假设要查询的用户名
if($stmt->execute(array($username))){  // 执行查询语句
    $rows = $stmt->fetchAll();  // 获取查询结果
    foreach($rows as $row){  // 遍历查询结果
        echo $row['id'] . ' ' . $row['username'] . ' ' . $row['password'] . '<br/>';
    }
}
ログイン後にコピー

上記のコードでは、$sql 変数に SELECT ステートメントが格納されており、ユーザー名「admin」のユーザー情報をユーザーからクエリします。テーブル。 $stmt 変数は、クエリ ステートメントの準備されたオブジェクトを指します。 execute() メソッドを呼び出してクエリ ステートメントを実行するとき、プレースホルダーの実際の値を配列を通じて PDO に渡します。クエリが正常に実行されると、 fetchAll() メソッドを使用してクエリ結果が取得され、結果は変数 $rows に保存されます。 foreach ループを使用して結果を 1 つずつ出力できます。

4. データの変更

データの挿入と同様、データの変更も一般的な操作の 1 つです。ユーザーのパスワードを変更する例を次に示します。

$sql = "UPDATE `users` SET `password`=? WHERE `username`=?";
$stmt = $dbh->prepare($sql);  // 准备更新语句
$username = 'admin';  // 假设要更新的用户名
$new_password = md5('654321');  // 假设要更新的密码
if($stmt->execute(array($new_password, $username))){  // 执行更新语句
    echo 'Updated successfully.'; // 更新成功
}
ログイン後にコピー

上記のコードでは、$sql 変数に UPDATE ステートメントが格納されており、このステートメントはユーザー テーブル内の「admin」という名前のユーザーのパスワードを更新するために使用されます。 。 update ステートメントでは、SET キーワードの後のパスワード フィールドが、変更される新しいパスワードであることに注意してください。同時に、WHERE キーワードを使用して、更新する必要があるユーザー レコードを指定します。 PDO が更新ステートメントを実行して正常に完了すると、プログラムは更新が成功したことを示すプロンプト メッセージを出力します。

5. データの削除

データの削除はデータの変更と似ており、一般的な操作の 1 つです。以下は、PDO を介してユーザー情報を削除する例です。

$sql = "DELETE FROM `users` WHERE `username`=?";
$stmt = $dbh->prepare($sql);  // 准备删除语句
$username = 'admin';  // 假设要删除的用户名
if($stmt->execute(array($username))){  // 执行删除语句
    echo 'Deleted successfully.'; // 删除成功
}
ログイン後にコピー

上記のコードでは、$sql 変数には、ユーザー名「admin」のユーザー情報を削除するために使用される DELETE ステートメントが格納されています。 update ステートメントと同様に、このステートメントは WHERE キーワードを使用して、削除する必要があるユーザー レコードを指定します。 PDO が削除ステートメントを実行して正常に完了すると、プログラムは削除が成功したことを示すプロンプト メッセージを出力します。

6. 概要

PDO をデータベース操作に使用するには、ある程度のスキルとテクニックが必要ですが、PDO の基本操作をマスターすると、データベースの追加、削除、変更、クエリを実行できるようになります。より効率的に。この記事では、PDO を使用して追加、削除、変更、クエリなどの基本的な操作を実行する方法を紹介しましたが、実際の開発では、開発課題をより適切に解決するために、より詳細な PDO 操作技術を適用する必要があります。継続的な学習と実践を通じて、PDO の高度なテクノロジーを習得し、より優れた Web アプリケーションを開発できるようになります。

以上がPDOデータベースを使用して追加、削除、変更、確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!