Maison  >  Article  >  développement back-end  >  PHP MySQL : mettre à jour les données

PHP MySQL : mettre à jour les données

藏色散人
藏色散人original
2018-11-03 10:23:524581parcourir

Introduction : Dans ce didacticiel, vous apprendrez à mettre à jour les données d'une table MySQL à l'aide d'instructions préparées par PHP PDO.

Tutoriels vidéo associés recommandés : Tutoriel MySQL !

Nous utiliserons le tableau des tâches dans la base de données exemple pour les exercices. Si vous n'avez pas encore créé la table, suivez le didacticiel PHP MySQL Create Table pour le faire en premier.

La figure suivante illustre la structure du tableau des tâches.

PHP MySQL : mettre à jour les données

Pour mettre à jour les données du tableau, suivez les étapes suivantes :

Tout d'abord, connectez-vous à la base de données MySQL en créant un nouvel objet PDO.

Deuxièmement, construisez une instruction UPDATE pour mettre à jour les données. Si vous souhaitez transmettre une valeur à une instruction UPDATE, utilisez un espace réservé nommé, tel que :name.

Ensuite, la méthode execute() de l'objet est appelée avec un tableau contenant les valeurs d'entrée correspondantes pour les espaces réservés nommés spécifiés dans l'instruction. PDOStatementUPDATE

PHP MySQL : exemple de mise à jour de données

PHP MySQL - Mettre à jour une seule ligne

Jetons un coup d'œil au cours UpdateDataDemo ci-dessous.

<?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;;

Comment fonctionne le script.

Tout d'abord, connectez-vous à la base de données en créant une nouvelle instance via PDO dans le constructeur de la classe UpdateDataDemo.

Deuxièmement, dans la méthode update(), UPDATE utilise des espaces réservés nommés pour construire l'instruction.

Ensuite, utilisez une instruction UPDATE préparée pour préparer l'instruction à l'exécution et exécutez-la à l'aide des paramètres du tableau.

Vous pouvez utiliser le script suivant pour mettre à jour la ligne avec l'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;;

Vous pouvez interroger les tâches de données de la table pour vérifier la mise à jour :

SELECT * FROM tasks;

Dans ce didacticiel, vous avez appris à utiliser les instructions préparées par PHP PDO pour mettre à jour les données dans une table MySQL.

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