PHP MySQL: データを更新する

藏色散人
リリース: 2023-04-04 11:38:02
オリジナル
4632 人が閲覧しました

はじめに: このチュートリアルでは、PHP PDO プリペアド ステートメントを使用して MySQL テーブル内のデータを更新する方法を学習します。

推奨される関連ビデオ チュートリアル: MySQL チュートリアル!

演習では、サンプル データベースのタスク テーブルを使用します。テーブルをまだ作成していない場合は、PHP 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 = &#39;localhost&#39;;
    const DB_NAME = &#39;classicmodels&#39;;
    const DB_USER = &#39;root&#39;;
    const DB_PASSWORD = &#39;&#39;;
 
    /**
     * 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 = [
            &#39;:taskid&#39; => $id,
            &#39;:subject&#39; => $subject,
            &#39;:description&#39; => $description,
            &#39;:start_date&#39; => $startDate,
            &#39;:end_date&#39; => $endDate];
 
 
        $sql = &#39;UPDATE tasks
                    SET subject      = :subject,
                         start_date  = :start_date,
                         end_date    = :end_date,
                         description = :description
                  WHERE task_id = :taskid&#39;;
 
        $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, &#39;MySQL PHP Update Tutorial&#39;, 
                    &#39;MySQL PHP Update using prepared statement&#39;, 
                    &#39;2013-01-01&#39;, 
                    &#39;2013-01-01&#39;) !== false)
    echo &#39;The task has been updated successfully&#39;;
else
    echo &#39;Error updated the task&#39;;
ログイン後にコピー

スクリプトの仕組み。

まず、PDO を介して UpdateDataDemo クラスのコンストラクターで新しいインスタンスを作成し、データベースに接続します。

2 番目に、update() メソッドで、UPDATE は名前付きプレースホルダーを使用してステートメントを構築します。

次に、準備された UPDATE ステートメントを使用してステートメントの実行を準備し、配列パラメーターを使用してステートメントを実行します。

次のスクリプトを使用して、ID 2 の行を更新できます。

$obj = new UpdateDataDemo();
 
if($obj->update(2,
 &#39;MySQL PHP Update Tutorial&#39;,
 &#39;MySQL PHP Update using prepared statement&#39;, 
 &#39;2013-01-01&#39;,
 &#39;2013-01-01&#39;) !== false)
 echo &#39;The task has been updated successfully&#39;;
else 
 echo &#39;Error updated the task&#39;;
ログイン後にコピー

テーブルからデータ タスクをクエリして、更新を確認できます。

SELECT * FROM tasks;
ログイン後にコピー

この例では、チュートリアルでは、PHP PDO プリペアド ステートメントを使用して MySQL テーブル内のデータを更新する方法を学習しました。

以上がPHP MySQL: データを更新するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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