Tutoriel PHP

PHP

Découvez les bases de PHP dans mon support de formation dédié à ce puissant langage orienté web.


HTML HTML5 CSS Dreamweaver Bootstrap

Mettre à jour un enregistrement dans une table MySQL

Dans ce tutoriel, nous allons voir comment mettre à jour un enregistrement.

Télécharger la base de données disques.sql

Mettre à jour un enregistrement avec UPDATE

Pour mettre à jour un enregistrement, nous allons utiliser UPDATE en SQL.

UPDATE table
SET champ1=valeur1, champ2=valeur2
WHERE condition

Exemple

Nous voulons modifier l'enregistrement 1 de notre table disque en envoyant le id_disque avec POST via un formulaire

enregistrement à partir de données envoyées via un formulaire ou une url.

Voici le code PHP :

<?php
// Connexion à MySQL
$connection=mysqli_connect("serveur", "login", "mot_de_passe", "base_de_donnees);

if(isset($_POST['Bouton'])) {
   // Réecriture des variables
   $id_disque=$_POST['id_disque'];
   $nom_disque=$_POST['nom_disque'];
   $auteur_disque=$_POST['auteur_disque'];
   $note_disque=$_POST['note_disque'];
   $date_disque=$_POST['date_disque'];
   
   // Requête de modification d'enregistrement
   $ModifierDisque="UPDATE disques SET
   nom_disque='$nom_disque',
   auteur_disque='$auteur_disque',
   note_disque='$note_disque',
   date_disque='$date_disque'
   WHERE id_disque=1";

   // Exécution de la requête
   $resultat=mysqli_query($connection, $ModifierDisque);

   // Contrôle sur la requête
   if(!$resultat) {
    die('Erreur SQL !'.$ModifierDisque.'<br />'.mysql_error());
   }
   else {
     echo "<div class='alert alert-success'><h1>Requête validée !</h1><p>La mise a jour a bien été effectuée !</p>";
   }

} // Fin du test isset
?>

Voici le code HTML et PHP pour le formulaire

<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table class="table table-responsive">
<tr>
<td>id disque</td>
<td><?php echo $row_disques['id_disque']; ?></td>
</tr>
<tr>
<td>Nom</td>
<td><input type="text" name="nom_disque" value="<?php echo htmlentities($row_disques['nom_disque']); ?>"></td>
</tr>
<tr>
<td>Auteur</td>
<td>
<input type="text" name="auteur_disque" value="<?php echo htmlentities($row_disques['auteur_disque']); ?>">
</td>
</tr>
<tr>
<td>Note</td>
<td>
<input type="text" name="note_disque" value="<?php echo htmlentities($row_disques['note_disque']); ?>">
</td>
</tr>
<tr>
<td>Date</td>
<td><input type="text" name="date_disque" value="<?php echo htmlentities($row_disques['date_disque']); ?>"></td>
</tr>
<tr>
<td><input type="hidden" name="id_disque" value="<?php echo $row_disques['id_disque']; ?>"></td>
<td>
<input type="hidden" name="MM_update" value="form1">
<input type="submit" name="Bouton" value="Modifier">
</td>
</tr>
</table>
</form>

Et ensuite,on coupe la connexion :

<?php
mysqli_close($connection);
?>

Attention

Il faudra veillez à sécuriser le code ci-dessus et se prémunir contre ces attaques :

  • mySQL Injections
  • Cross-Side Scripting (XSS)

 

Je le détaillerai dans un prochain tutoriel.