Heim  >  Artikel  >  Backend-Entwicklung  >  PHP MySQL: Daten in Tabelle einfügen

PHP MySQL: Daten in Tabelle einfügen

藏色散人
藏色散人Original
2018-11-05 17:10:473101Durchsuche

Einführung: In diesem Tutorial erfahren Sie, wie Sie mit PHP PDO Daten in eine MySQL-Tabelle einfügen.

Empfohlenes Referenzvideo-Tutorial: „MySQL-Tutorial

Nachfolgend stellen wir es Ihnen anhand eines einfachen Beispiels vor.

Der Inhalt der Aufgabendatentabelle lautet wie folgt:

tasks-table (1).png

Wenn wir Daten in die Tabelle einfügen möchten, können wir wie folgt vorgehen Schritte:

Stellen Sie eine Verbindung zur MySQL-Datenbank her, indem Sie eine neue Instanz des PDO-Objekts erstellen.

Erstellen Sie eine MySQL INSERT-Anweisung.

Rufen Sie die exec()-Methode des PDO-Objekts auf.

PHP MySQL Beispiel zum Einfügen von Daten: Beispiel zum Einfügen einer neuen Zeile in die Tabelle

<?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());
        }
    }
//...

Das folgende Beispiel zeigt, wie eine neue Zeile in die Aufgabentabelle eingefügt wird.

/**
     * 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);
    }

Definieren Sie die Klasse InsertDataDemo. Der Konstruktor stellt die Datenbankverbindung her und verwendet den Destruktor, um die Datenbankverbindung zu schließen.

In der InsertDataDemo-Klasse definieren wir eine Einfügemethode, die die exec()-Methode des PDO-Objekts aufruft, um die INSERT-Anweisung auszuführen.

Die folgende Anweisung erstellt eine Instanz der Klasse „InsertDataDemo“ und ruft die Methode „insert()“ auf, um neue Zeilen in die Aufgabentabelle einzufügen.

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

Lassen Sie uns die Daten in der Aufgabentabelle abfragen:

SELECT *
  FROM tasks;

PHP MySQL: Daten in Tabelle einfügen

PHP MySQL: Einzelne Zeile mithilfe eines Beispiels für eine vorbereitete Anweisung einfügen

An Seien Sie dynamisch. Und um Werte von PHP sicher an SQL-Anweisungen zu übergeben, können Sie PDO-vorbereitete Anweisungen verwenden.

Verwenden Sie zunächst eine MySQL-Anweisung mit benannten Platzhaltern wie folgt:

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

:subject, :description, :startdate und :enddate werden benannte Platzhalter genannt.

Zweitens rufen Sie die Methode „prepare()“ des PDO-Objekts auf, um die SQL-Anweisung für die Ausführung vorzubereiten:

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

Dann rufen Sie die Methode „execute()“ auf und übergeben ein Array mit den Werten entsprechend den genannten Platzhaltern.

$q->execute($task)

Füge sie zusammen.

/**
     * 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);
    }

Jetzt können wir die Daten der Aufgabe an die Methode insertSingleRow() übergeben:

$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;);

Überprüfen Sie die Aufgabentabelle:

PHP MySQL: Daten in Tabelle einfügen

PHP MySQL im Beispiel zum Einfügen mehrerer Zeilen in die Tabelle

Es gibt zwei Methoden, um mehrere Zeilen in die Tabelle einzufügen:

insertSingleRow() Führen Sie diese Methode mehrmals aus.

Konstruieren Sie ein INSERT, um mehrere Zeilen einzufügen und seine MySQL-Anweisung auszuführen.

In diesem Artikel geht es um die spezifische Methode zum Einfügen von Daten in die MySQL-Tabelle mithilfe von PHP-PDO-Vorverarbeitungsanweisungen. Ich hoffe, dass er für Freunde in Not hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonPHP MySQL: Daten in Tabelle einfügen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn