ホームページ > バックエンド開発 > PHPの問題 > 【共有例】PHP PDO操作データベース(追加、削除、変更、確認)

【共有例】PHP PDO操作データベース(追加、削除、変更、確認)

PHPz
リリース: 2023-03-27 15:56:12
オリジナル
781 人が閲覧しました

PHP PDO は PHP の拡張機能であり、PHP 開発者にデータベースを操作するための標準化された方法を提供し、開発者が異なるデータベース間をシームレスに切り替えることができるようにします。この記事では、PHP PDO を使用して MySQL データベースに接続し、コードの追加、削除、変更、チェックの例を作成する方法を示します。

PDO 拡張機能のインストール

始める前に、PHP 環境に PDO 拡張機能がインストールされていることを確認してください。ターミナルで次のコマンドを実行すると、現在の環境に PDO がすでにインストールされているかどうかを確認できます。

php -m | grep pdo
ログイン後にコピー

エラー メッセージが表示されない場合は、PDO が正常にインストールされたことを意味します。プロンプトで PDO 拡張子が見つからない場合は、オペレーティング システムと PHP バージョンに応じて、対応するバージョンの PDO をインストールしてください。

MySQL データベースへの接続

デモの前に、まず MySQL データベースをローカルに作成し、test という名前の新しいデータ テーブルを作成する必要があります。同時に、データベースに接続するために、データベース名、ユーザー名、パスワードなど、接続に必要な情報を準備する必要があります。接続コードは次のとおりです:

$dbname = 'test';
$username = 'root';
$password = '';
$dsn = "mysql:host=localhost;dbname=$dbname;charset=utf8";

try {
  $pdo = new PDO($dsn, $username, $password);
  echo "连接成功";
} catch(PDOException $e) {
  echo $e->getMessage();
}
ログイン後にコピー

説明:

  • dbname はデータベース名で、実際の状況に応じて変更できます。
  • usernamepassword はデータベースにアクセスするためのユーザー名とパスワードであり、実際の状況に応じて変更する必要があります;
  • dsn は PDO が MySQL データベースに接続するために必要なパラメータです。 mysql:host=localhost は MySQL のホスト名、dbname=$dbname はデータベース名、charset=utf8 は、送信中にデータが送信されることを保証するための文字セットです。文字化けは発生しません。
接続に成功すると、ページに「接続成功」と出力されます。

データの取得

次に、PDO を使用してデータベースからデータを取得する方法を説明します。コードは次のとおりです:

$sql = "SELECT * FROM test";
$stmt = $pdo->query($sql);

while ($row = $stmt->fetch()) {
  echo $row['id'] . ' ' . $row['name'] . ' ' . $row['age'] . "<br>";
}
ログイン後にコピー
説明:

  • SELECT * FROM test は SQL ステートメントです。test は作成したデータ テーブルの名前です。 ;
  • $stmt は、PDO が SQL ステートメントを実行した後に返される結果セット オブジェクトです;
  • $stmt->fetch() が使用されます結果セット内のデータを取得するには、このメソッドを実行するたびに、$stmt が次のデータを指します。
  • while ループは次のとおりです。データがなくなるまで、結果セットが得られるまで、すべての修飾されたデータ レコードを走査するために使用されます。

データの追加

次に、PDO を使用してデータベースにデータを追加する方法を説明します。コードは次のとおりです:

$name = 'Tom';
$age = 28;
$sql = "INSERT INTO test(name,age) VALUES(:name,:age)";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':name', $name);
$stmt->bindValue(':age', $age);
$result = $stmt->execute();

if ($result) {
  echo "数据插入成功";
} else {
  echo "数据插入失败";
}
ログイン後にコピー
説明:

  • INSERT INTO は、新しいデータをデータ テーブルに挿入するために使用される SQL ステートメントです。 ##:name
  • :age は PDO パラメーター バインディングのプレースホルダーであり、次のコードで実際の値に置き換えられます; $ pdo ->prepare($sql)
  • は SQL ステートメントの前処理に使用されます。
  • $sql は実行される SQL ステートメントです。$stmt-> ;bindValue (':name', $name)
  • プレースホルダー
  • :name を特定の値 $name; $result = $stmt にバインドします->execute()
  • SQL ステートメントを実行し、実行結果を返します。
  • データの更新

次に、PDO を使用してデータベース内のデータを更新する方法を説明します。コードは次のとおりです:

$id = 1;
$name = 'John';
$age = 30;
$sql = "UPDATE test SET name=:name,age=:age WHERE id=:id";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':name', $name);
$stmt->bindValue(':age', $age);
$stmt->bindValue(':id', $id);
$result = $stmt->execute();

if ($result) {
  echo "数据更新成功";
} else {
  echo "数据更新失败";
}
ログイン後にコピー
説明:

UPDATE
    は、データ テーブル内のデータを更新するために使用される SQL ステートメントです。
  • SET name=:name,age=:age は更新するフィールドと対応する値を示します;
  • WHERE id=:id はデータの条件を示します更新される;
  • $stmt->bindValue(':id', $id) プレースホルダー :id
  • を特定の値
  • $ にバインドしますIDデータの削除
最後に、PDO を使用してデータベース内のデータを削除する方法を示します。コードは次のとおりです:

$id = 1;
$sql = "DELETE FROM test WHERE id=:id";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':id', $id);
$result = $stmt->execute();

if ($result) {
  echo "数据删除成功";
} else {
  echo "数据删除失败";
}
ログイン後にコピー
説明:

DELETE FROM

は、データ テーブルからデータを削除するために使用される SQL ステートメントです。

#WHERE id=:id
    削除するデータの条件を示します;
  • $stmt->bindValue(':id', $id)
  • Changeプレースホルダー
  • :id は、特定の値 $id
  • にバインドされます。
  • 概要上記は、PHP PDO を使用して MySQL データベースを操作し、追加、削除、変更、クエリを行う例です。これらの例を通じて、誰もが PDO を使用してデータベースに接続し、データに対して関連する操作を実行する方法を習得したと思います。実際のプロジェクトでは、他の PHP フレームワークやコンポーネントを組み合わせて、複雑なビジネス ロジックを迅速に開発することもできます。

以上が【共有例】PHP PDO操作データベース(追加、削除、変更、確認)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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