Requêtes paramétrées : un bouclier contre l'injection SQL
Comprendre les requêtes paramétrées
Une requête paramétrée, également appelée instruction préparée, est une technique permettant de créer des instructions SQL. Il sépare les données dynamiques (paramètres) des parties fixes de la requête. Cela permet un paramétrage efficace lors de l'exécution.
PHP et MySQL : une démonstration pratique
Illustrons avec une requête SQL qui inclut un paramètre pour l'adresse e-mail d'un utilisateur :
<code class="language-sql">SELECT * FROM users WHERE email = 'foo@example.com'</code>
Implémentation avec mysqli
<code class="language-php"><?php $mysqli = new mysqli('localhost', 'username', 'password', 'database'); $stmt = $mysqli->prepare("SELECT * FROM users WHERE email = ?"); $stmt->bind_param('s', 'foo@example.com'); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { // Process the retrieved data... } $stmt->close(); ?></code>
Mise en œuvre avec AOP
<code class="language-php"><?php $pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password'); $stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?"); $stmt->bindParam(1, 'foo@example.com', PDO::PARAM_STR); $stmt->execute(); $result = $stmt->fetchAll(); foreach ($result as $row) { // Process the retrieved data... } ?></code>
Principaux avantages des requêtes paramétrées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!