INSERT avec PDO en PHP
accueil >
Cours >
PHP >
INSERT avec PDO en PHP
Cours / tutoriel écrit le 22-10-2010 par sky
Utitliser la commande INSERT avec PDO en PHP
Voici une procédure très simple pour insérer (INSERT) des informations dans une base de donnée avec PDO en PHP.
Ceci n'utilise pas les transactions et on doit du coups sécurisé les inputs des utilisateurs.
En savoir plus sur la
connexion à MySQL avec PDO en PHP.
<?php
$dbname= 'test';
$user = '[email protected]';
$password = 'mot de passe';
$host = 'localhost';
try
{
$dbh = new PDO
('mysql:host='.$host .';dbname='.$dbname, $user, $password );
$dbh->setAttribute(PDO
::ATTR_ERRMODE, PDO
::ERRMODE_EXCEPTION);
$dbh->exec("SET CHARACTER SET utf8");
} catch
(PDOException
$e) {
echo "<p>Erreur : " . $e->getMessage() . "</p>";
exit();
}
try
{
/*
* On récupère le type et le nom d'un formulaire fictif :
*/
$nom = $dbh->quote($_POST['nom']); // Par exemple : Lion
$type = $dbh->quote($_POST['type']); // Par exemple : Carnivore
/*
* Insertion d'une ligne dans MySQL
* On notera l'abcense de ' autour des variables.
* En effet, $dbh->quote(); s'en charge pour nous.
*/
$count = $dbh->exec("INSERT INTO Animaux(type, nom) VALUES ($type, $nom)");
/*
* $count contient le nombre de ligne inséré dans la BDD.
* En l'occurence : 1
*/
echo '<p>'.$count.' ligne(s) inserée(s)</p>';
/*
* Pour fermer la connexion avec la BDD, il suffit d'utiliser cette ligne :
*/
$dbh = null;
}
catch
(PDOException
$e)
{
/*
* Si on lève une exception, affichage de l'erreur en question :
*/
echo '<p>Erreur lors de l\'insertion : '.$e->getMessage().'</p>';
}
?>
Ceci est juste un exemple basic d'insertion avec PDO en PHP.
Commentaires
bombyx le 21-10-2012
c'est OK.
un mot à te dire, Bravo.
merci.
sky le 18-07-2011
Crade ... faut pas exagérer.
Aurel le 16-07-2011
complétement crade,et les requêtes préparés sont mieux sécuriser!! je deconseille le code!!
chikhimngi le 19-11-2010
Très clair et marche à merveille. Merci.
A propos quel code me permet de supprimer les anciens message d'un minichat, pour que ma base ne soit encombrée