Exécuter une requête avec PDO
Objectifs pédagogiques
- Comprendre comment exécuter une requête SQL avec PDO.
- Utiliser
query()pour les requêtes simples. - Lire les résultats d'une requête SQL.
Requêtes simples avec query()
Lorsque vous n'avez pas besoin de passer de paramètres (requêtes en lecture, par exemple), vous pouvez utiliser la méthode query() :
php
<?php
$pdo = new PDO('mysql:host=localhost;dbname=todo_app', 'root', '');
// Requête de lecture
$sql = "SELECT * FROM tasks";
$result = $pdo->query($sql);
// Affichage des résultats
foreach ($result as $row) {
echo $row['label'] . "<br>";
}Remarques :
query()exécute immédiatement la requête et retourne un objetPDOStatement.- En cas d’erreur SQL, PDO peut retourner
false, il est donc conseillé de vérifier :
php
if ($result === false) {
echo "Erreur lors de l'exécution de la requête.";
}Utilisation dans un contexte d'écriture
php
<?php
$pdo = new PDO('mysql:host=localhost;dbname=todo_app', 'root', '');
$pdo->query("INSERT INTO tasks (label, category, done, created_at) VALUES ('Nouvelle tâche', 'Test', 0, NOW())");Attention
query() ne doit pas être utilisé pour exécuter des requêtes avec des valeurs dynamiques (provenant de l’utilisateur) car cela expose votre application aux injections SQL. Dans ce cas, on utilisera plutôt les requêtes préparées.
Conclusion
query()est pratique pour les requêtes simples et sûres.- Toujours valider et échapper les données entrantes.
- Préférer
prepare()pour les requêtes avec des paramètres.