Maison  >  Article  >  développement back-end  >  PHP MySQL : insérer des données dans un tableau

PHP MySQL : insérer des données dans un tableau

藏色散人
藏色散人original
2018-11-05 17:10:473083parcourir

Introduction : Dans ce tutoriel, vous apprendrez à insérer des données dans une table MySQL à l'aide de PHP PDO.

Tutoriel vidéo de référence recommandé : "Tutoriel mysql"

Ci-dessous, nous vous le présenterons avec un exemple simple.

Le contenu du tableau de données des tâches est le suivant :

tasks-table (1).png

Si nous voulons insérer des données dans le tableau, nous pouvons suivre ce qui suit étapes :

Connectez-vous à la base de données MySQL en créant une nouvelle instance de l'objet PDO.

Construisez une instruction MySQL INSERT.

Appelez la méthode exec() de l'objet PDO.

Exemple d'insertion de données PHP MySQL : Insérer une nouvelle ligne dans l'exemple de table

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

L'exemple suivant montre comment insérer une nouvelle ligne dans la table des tâches.

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

Définissez la classe InsertDataDemo. Le constructeur établit la connexion à la base de données et utilise le destructeur pour fermer la connexion à la base de données.

Dans la classe InsertDataDemo, nous définissons une méthode insert, qui appelle la méthode exec() de l'objet PDO pour exécuter l'instruction INSERT.

L'instruction suivante crée une instance de la classe InsertDataDemo et appelle la méthode insert() pour insérer de nouvelles lignes dans la table des tâches.

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

Interrogons les données de la table des tâches :

SELECT *
  FROM tasks;

PHP MySQL : insérer des données dans un tableau

PHP MySQL : insérez une seule ligne à l'aide d'un exemple d'instruction préparée

Pour transmettre dynamiquement et en toute sécurité des valeurs de PHP aux instructions SQL, vous pouvez utiliser des instructions préparées par PDO.

Tout d'abord, utilisez une instruction MySQL avec des espaces réservés nommés comme suit :

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

:subject, :description, :startdate et :enddate sont appelés espaces réservés nommés.

Deuxièmement, appelez la méthode prepare() de l'objet PDO pour préparer l'instruction SQL à l'exécution :

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

Ensuite, appelez la méthodeexecute() et transmettez une valeur contenant la valeur correspondant au tableau d'espace réservé nommé.

$q->execute($task)

Rassemblez-les.

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

Nous pouvons maintenant transmettre les données de la tâche à la méthode 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;);

Vérifiez le tableau des tâches :

PHP MySQL : insérer des données dans un tableau

PHP MySQL Insérer plusieurs lignes dans un exemple de tableau

Il existe deux méthodes pour insérer plusieurs lignes dans le tableau :

insertSingleRow() Exécutez cette méthode plusieurs fois.

Construisez un INSERT pour insérer plusieurs lignes et exécuter son instruction MySQL.

Cet article concerne la méthode spécifique d'insertion de données dans la table MySQL à l'aide des instructions de prétraitement PHP PDO. J'espère qu'il sera utile aux amis dans le besoin.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn