⊗ppSpPDPP 60 of 83 menu

Placeholders positionnels dans PDO en PHP

Voyons comment utiliser les placeholders positionnels. Supposons que nous ayons deux variables que nous souhaitons insérer dans la requête :

<?php $min = 1; $max = 5; ?>

Supposons que nous voulions insérer nos variables de la manière suivante :

<?php $sql = "SELECT * FROM users WHERE id>$min and id<$max"; ?>

Cependant, cela n'est pas sécurisé. Par conséquent, au lieu d'insérer les variables directement, remplaçons-les par des placeholders positionnels, qui sont représentés par des points d'interrogation :

<?php $sql = 'SELECT * FROM users WHERE id>? and id<?'; ?>

Exécutons maintenant la commande qui préparera la requête :

<?php $res = $pdo->prepare($sql); ?>

Exécutons maintenant la requête, en lui passant en paramètres un tableau contenant nos variables. Dans ce cas, les variables seront insérées dans la requête dans l'ordre où elles sont spécifiées dans le tableau :

<?php $res->execute([$min, $max]); ?>

Après cela, nous pouvons obtenir le résultat de la requête :

<?php while ($row = $res->fetch()) { var_dump($row); } ?>

Rassemblons tout et nous obtenons le code suivant :

<?php $min = 1; $max = 5; $sql = 'SELECT * FROM users WHERE id>? and id<?'; $res = $pdo->prepare($sql); $res->execute([$min, $max]); while ($row = $res->fetch()) { var_dump($row); } ?>

Les variables sont données :

<?php $age = 30; $salary = 1000; ?>

Trouvez tous les utilisateurs dont l'âge ou le salaire sont égaux aux valeurs définies dans les variables.

Essayez d'effectuer une injection SQL dans votre code. Assurez-vous qu'elle ne passera pas.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser