はじめに: このチュートリアルでは、PHP PDO プリペアド ステートメントを使用して MySQL テーブル内のデータを更新する方法を学習します。
推奨される関連ビデオ チュートリアル: MySQL チュートリアル!
演習では、サンプル データベースのタスク テーブルを使用します。テーブルをまだ作成していない場合は、PHP MySQL テーブルの作成チュートリアルに従って最初に作成してください。
次の図は、タスク テーブルの構造を示しています。
テーブル内のデータを更新するには、次の手順を実行します。
まず、新しい PDO オブジェクトを作成して MySQL データベースに接続します。
2 番目に、データを更新する UPDATE ステートメントを作成します。 UPDATE ステートメントに値を渡す場合は、:name などの名前付きプレースホルダーを使用します。
次に、オブジェクトのexecute()メソッドが、ステートメントで指定された名前付きプレースホルダの対応する入力値を含む配列を使用して呼び出されます。 PDOStatementUPDATE
PHP MySQL: データの更新の例
PHP MySQL - 単一行の更新
以下の UpdateDataDemo レッスンを見てみましょう。
<?php /** * PHP MySQL Update data demo */ class UpdateDataDemo { const DB_HOST = 'localhost'; const DB_NAME = 'classicmodels'; const DB_USER = 'root'; const DB_PASSWORD = ''; /** * PDO instance * @var PDO */ private $pdo = null; /** * Open the database connection */ public function __construct() { // open database connection $connStr = sprintf("mysql:host=%s;dbname=%s", self::DB_HOST, self::DB_NAME); try { $this->pdo = new PDO($connStr, self::DB_USER, self::DB_PASSWORD); } catch (PDOException $e) { die($e->getMessage()); } } /** * Update an existing task in the tasks table * @param string $subject * @param string $description * @param string $startDate * @param string $endDate * @return bool return true on success or false on failure */ public function update($id, $subject, $description, $startDate, $endDate) { $task = [ ':taskid' => $id, ':subject' => $subject, ':description' => $description, ':start_date' => $startDate, ':end_date' => $endDate]; $sql = 'UPDATE tasks SET subject = :subject, start_date = :start_date, end_date = :end_date, description = :description WHERE task_id = :taskid'; $q = $this->pdo->prepare($sql); return $q->execute($task); } /** * close the database connection */ public function __destruct() { // close the database connection $this->pdo = null; } } $obj = new UpdateDataDemo(); if ($obj->update(2, 'MySQL PHP Update Tutorial', 'MySQL PHP Update using prepared statement', '2013-01-01', '2013-01-01') !== false) echo 'The task has been updated successfully'; else echo 'Error updated the task';
スクリプトの仕組み。
まず、PDO を介して UpdateDataDemo クラスのコンストラクターで新しいインスタンスを作成し、データベースに接続します。
2 番目に、update() メソッドで、UPDATE は名前付きプレースホルダーを使用してステートメントを構築します。
次に、準備された UPDATE ステートメントを使用してステートメントの実行を準備し、配列パラメーターを使用してステートメントを実行します。
次のスクリプトを使用して、ID 2 の行を更新できます。
$obj = new UpdateDataDemo(); if($obj->update(2, 'MySQL PHP Update Tutorial', 'MySQL PHP Update using prepared statement', '2013-01-01', '2013-01-01') !== false) echo 'The task has been updated successfully'; else echo 'Error updated the task';
テーブルからデータ タスクをクエリして、更新を確認できます。
SELECT * FROM tasks;
この例では、チュートリアルでは、PHP PDO プリペアド ステートメントを使用して MySQL テーブル内のデータを更新する方法を学習しました。
以上がPHP MySQL: データを更新するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。