Bonjour à tous,
Je voulais vous soumettre ma première requête PDO, que j'ai codée avec les quelques infos que j'ai prises sur le web.
Je voulais savoir si ca tenais la route, et quelles améliorations je pourrais apporter, notamment d'un point de vue sécurité...
Ou ceci est mieux ?
Merci d'avance
Modifié par 20cents31 (25 Sep 2011 - 15:05)
Je voulais vous soumettre ma première requête PDO, que j'ai codée avec les quelques infos que j'ai prises sur le web.
Je voulais savoir si ca tenais la route, et quelles améliorations je pourrais apporter, notamment d'un point de vue sécurité...
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$DB = new PDO('mysql:host=localhost;dbname=xxx', 'root', '', $pdo_options);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
try
{
// On récupère les données POST
$titre = $DB->quote($_POST['titre']);
$contenu = $DB->quote($_POST['contenu']);
// Insertion dans la base de donnée
$req = $DB->exec("INSERT INTO articles(titre, contenu) VALUES ($titre, $contenu)");
// Redirection vers la page d'accueil
header("Location: index.php");
// Fermeture du curseur
$req->closeCursor();
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
Ou ceci est mieux ?
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$DB = new PDO('mysql:host=localhost;dbname=stephanebleus', 'root', '', $pdo_options);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
try
{
// On récupère les données POST
$titre = $_POST['titre'];
$contenu = $_POST['contenu'];
// Insertion dans la base de donnée
$statement = $DB->prepare("INSERT INTO articles (titre, contenu) VALUES (:titre, :contenu)");
$statement->bindParam('titre', $titre, PDO: [langue]ARAM_STR);
$statement->bindParam('contenu', $contenu, PDO: [langue]ARAM_STR);
$statement->execute();
// Redirection vers la page d'accueil
header("Location: index.php");
// Fermeture du curseur
$statement->closeCursor();
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
Merci d'avance
Modifié par 20cents31 (25 Sep 2011 - 15:05)