Ecrire des données dans une base de données MySQL Dans les 2 précédents chapitres, nous avons vu comme lire et trier des données grâce au langage SQL. Dans ce chapitre, nous allons voir comment écrire des données dans une base de données. Ben, il suffit d'utiliser PhphMyAdmin ... Et non ! Pour le créateur du site, il peut utiliser PhpMyAdmin mais pas pour un utilisateur du site. Si vous donnez tous les codes pour rentrer dans l'administration de la base de données à tous les utilisateurs, beaucoup de bêtises pourraient être faites comme changer le nom du champs, la taille ... Par exemple, nous allons ajouter des livres dans notre table livre. Si, j'ouvre ma base de données, tout le monde pourra changer, le nom du livre, le prix ... et c'est pas le but . Par contre, je souhaite tout de même enregistré de nouveaux livres dans ma base de données. Comment vais-je m'y prendre ? Tout simplement, grâce à une commande SQL nommée INSERT INTO ... VALUES. Voici la requête qui permet d'insérer un enregistrement dans une table : INSERT INTO livre(Identifiant, titre, auteur, prix) VALUES (' ', 'Le vieux homme et la mer', 'Ernest Hemingway', '38') La commande INSERT INTO permet d'insérer un enregistrement dans la table livre. Saisissez entre parenthèses le nom des champs Saisissez VALUES puis insérez entre parenthèses les valeurs à insérer dans l'ordre des champs que vous avez indiqué. ● Vous pouvez remarquer que le champ Identifiant est vide et c'est normal puisqu'on l'a définit en auto_increment lors de la création de la table. ● ● ● ATTENTION : le plus important c'est de respecter l'ordre des champs. Maintenant, nous allons voir le script PHP, qui insére un enregistrement dans la table : <?php mysql_connect("localhost", "root", ""); // Connesion à la base de données mysql_select_db("toto"); // Sélection de la base de données // Insertion d'un enregistrement dans la table livre mysql_query ("INSERT INTO livre (Identifiant, titre, auteur, prix) VALUES ('', 'Le vieil homme e mysql_close(); // On oubli pas de déconnecter la base de données ?> Regardez votre base de données Toto et surtout la table livre. Normalement, vous avez une nouvelle entrée dans la table comme le montre l'image suivante : Le code précédent n'affiche rien sur la page internet mais ajoute seulement une entrée dans la table. Par contre, si vous voulez afficher la nouvelle entrée, il faudra utiliser la commande SELECT que l'on a vu dans les chapitres précédent. Modifier des données dans une base de données : Lors de la saisi du dernier enregistrement, vous vous apercevez que le prix du livre "Le tour du monde en 80 jours" n'est pas de 35 € mais de 32. Nous allons corriger ce prix grâce à la commande UPDATE de SQL qui permet de mettre à jour une ou plusieurs données dans une table. Voici la commande SQL, permettant de modifier une donnée : UPDATE livre SET prix='32' WHERE identifiant='3' ● ● ● ● Le mot clé UPDATE permet de modifier une donnée Ensuite, on va choisir la table à modifier. Ici, c'est la table livre que l'on veut modifier Le mot clé SET permet de choisir les champs à modifier. Ici, le champs à modifier c'est le prix Enfin, le mot-clé WHERE est tout simplement indispensable. Ca nous permet de dire à MySQL quelle entrée il doit modifier Maintenant, nous allons voir le script PHP qui permet de modifier cette entrée de la table : <?php mysql_connect("localhost", "root", ""); // Connesion à la base de données mysql_select_db("toto"); // Sélection de la base de données // Insertion d'un enregistrement dans la table livre mysql_query ("UPDATE livre SET prix='32' WHERE identifiant='3' "); mysql_close(); // On oubli pas de déconnecter la base de données ?> Ce code n'affiche toujours rien mais modifie seulement le prix du 3ème enregistrement comme le montre l'image suivante : Supprimer des données dans une table MySQL : Pour supprimer une entrée d'une table, nous allons utiliser une commande SQL nommée DELETE. Pour notre exemple, nous allons supprimer le livre "Les 10 petits nègres", soit l'identifiant numéro 2. Voici le code SQL qui permet de supprimer un enregistrement : DELETE FROM livre WHERE identifiant='2' ● ● La commande DELETE FROM va supprimer un enregistrement de la table livre La commande WHERE sélectionne l'ID du livre a supprimer Voici, le script PHP permettant de supprimer cette entrée de la table livre : <?php mysql_connect("localhost", "root", ""); // Connesion à la base de données mysql_select_db("toto"); // Sélection de la base de données // Insertion d'un enregistrement dans la table livre mysql_query ("DELETE FROM livre WHERE identifiant='2' "); mysql_close(); // On oubli pas de déconnecter la base de données ?> Comme pour la modification et l'ajout de données, ce code n'affiche rien mais supprime une entrée de la table comme le montre l'image suivante : Regardez bien, l'identifiant numéro 2 a été supprimé de la table livre. Voilà, ce cours est terminé. Dans le prochain chapitre, nous allons voir l'utilisation de la commande include en php.