Ceci n'utilise pas les transactions et on doit du coups sécurisé les inputs des utilisateurs.
<?php
$dbname= 'test';
$user = 'user@user.fr';
$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>';
}
?>
$dbname= 'test';
$user = 'user@user.fr';
$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.
Aucun commentaire:
Enregistrer un commentaire