ホームページ  >  記事  >  バックエンド開発  >  PHP MySQL: テーブルにデータを挿入する

PHP MySQL: テーブルにデータを挿入する

藏色散人
藏色散人オリジナル
2018-11-05 17:10:473087ブラウズ

はじめに: このチュートリアルでは、PHP PDO を使用して MySQL テーブルにデータを挿入する方法を学習します。

おすすめ参考動画チュートリアル:「mysql チュートリアル

以下、簡単な例で紹介します。

タスク データ テーブルの内容は次のとおりです。

tasks-table (1).png

データをテーブルに挿入する場合は、次のようにします。手順:

PDO オブジェクトの新しいインスタンスを作成して、MySQL データベースに接続します。

MySQL INSERT ステートメントを作成します。

PDO オブジェクトの exec() メソッドを呼び出します。

PHP MySQL 挿入データの例: テーブルに新しい行を挿入する例

<?php
 
class InsertDataDemo {
 
    const DB_HOST = &#39;localhost&#39;;
    const DB_NAME = &#39;classicmodels&#39;;
    const DB_USER = &#39;root&#39;;
    const DB_PASSWORD = &#39;&#39;;
 
    private $pdo = null;
 
    /**
     * Open the database connection
     */
    public function __construct() {
        // open database connection
        $conStr = sprintf("mysql:host=%s;dbname=%s", self::DB_HOST, self::DB_NAME);
        try {
            $this->pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD);
        } catch (PDOException $pe) {
            die($pe->getMessage());
        }
    }
//...

次の例は、タスク テーブルに新しい行を挿入する方法を示しています。

/**
     * Insert a row into a table
     * @return
     */
    public function insert() {
        $sql = "INSERT INTO tasks (
                      subject,
                      description,
                      start_date,
                      end_date
                  )
                  VALUES (
                      &#39;Learn PHP MySQL Insert Dat&#39;,
                      &#39;PHP MySQL Insert data into a table&#39;,
                      &#39;2013-01-01&#39;,
                      &#39;2013-01-01&#39;
                  )";
 
        return $this->pdo->exec($sql);
    }

クラス InsertDataDemo を定義します。コンストラクターはデータベース接続を確立し、デストラクターを使用してデータベース接続を閉じます。

InsertDataDemo クラスでは、PDO オブジェクトの exec() メソッドを呼び出して INSERT ステートメントを実行する挿入メソッドを定義します。

次のステートメントは、InsertDataDemo クラスのインスタンスを作成し、insert() メソッドを呼び出してタスク テーブルに新しい行を挿入します。

$obj = new InsertDataDemo();
$obj->insert();

タスク テーブル内のデータをクエリしてみましょう:

SELECT *
  FROM tasks;

PHP MySQL: テーブルにデータを挿入する

PHP MySQL: プリペアド ステートメントの例を使用して 1 行を挿入します

To動的であること PHP から SQL ステートメントに値を安全に渡すには、PDO プリペアド ステートメントを使用できます。

まず、次のように名前付きプレースホルダーを含む MySQL ステートメントを使用します。

$sql = &#39;INSERT INTO tasks (
                      subject,
                      description,
                      start_date,
                      end_date
                  )
                  VALUES (
                      :subject,
                      :description,
                      :start_date,
                      :end_date
                  );&#39;;

:subject、:description、:startdate、および :enddate は名前付きプレースホルダーと呼ばれます。

2 番目に、PDO オブジェクトの prepare() メソッドを呼び出して、SQL ステートメントの実行を準備します。

$q = $pdo->prepare($sql);

次に、execute() メソッドを呼び出して、値を含む配列を渡します。名前付きプレースホルダーに対応します。

$q->execute($task)

それらをまとめてください。

/**
     * Insert a new task into the tasks table
     * @param string $subject
     * @param string $description
     * @param string $startDate
     * @param string $endDate
     * @return mixed returns false on failure 
     */
    function insertSingleRow($subject, $description, $startDate, $endDate) {
        $task = array(':subject' => $subject,
            ':description' => $description,
            ':start_date' => $startDate,
            ':end_date' => $endDate);
 
        $sql = &#39;INSERT INTO tasks (
                      subject,
                      description,
                      start_date,
                      end_date
                  )
                  VALUES (
                      :subject,
                      :description,
                      :start_date,
                      :end_date
                  );&#39;;
 
        $q = $this->pdo->prepare($sql);
 
        return $q->execute($task);
    }

これで、タスクのデータを insertSingleRow() メソッドに渡すことができます:

$obj->insertSingleRow(&#39;MySQL PHP Insert Tutorial&#39;,
                          &#39;MySQL PHP Insert using prepared statement&#39;,
                          &#39;2013-01-01&#39;,
                          &#39;2013-01-02&#39;);

タスク テーブルを確認します:

PHP MySQL: テーブルにデータを挿入する

PHP MySQL in テーブルに複数の行を挿入する例

テーブルに複数の行を挿入するには 2 つのメソッドがあります:

insertSingleRow() このメソッドを複数回実行します。

複数の行を挿入する INSERT を構築し、その MySQL ステートメントを実行します。

この記事は、PHP PDO 前処理ステートメントを使用して MySQL テーブルにデータを挿入する具体的な方法について説明したもので、困っている友人の役に立てば幸いです。

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

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