⊗ppSpPDNP 62 of 83 menu

Auto-encadrement des espaces réservés entre guillemets dans PDO en PHP

Techniquement, PDO encadre toutes les valeurs insérées avec des guillemets, les considérant comme des chaînes, même si ce sont en réalité des nombres. Ceci est permis par la syntaxe SQL. C'est pourquoi il n'est pas nécessaire d'encadrer les espaces réservés de guillemets si vous avez une valeur de type chaîne.

Regardons un exemple. Supposons que nous ayons une chaîne stockée dans une variable :

<?php $name = 'name1'; ?>

Il n'est pas nécessaire d'encadrer un espace réservé positionnel de guillemets dans ce cas :

<?php $sql = 'SELECT * FROM users WHERE name=?'; $res = $pdo->prepare(); $res->execute([$name]); ?>

Un espace réservé nommé ne doit pas non plus être encadré de guillemets :

<?php $sql = 'SELECT * FROM users WHERE name=:name'; $res = $pdo->prepare(); $res->execute(['name' => $name]); ?>

Le fait que les requêtes contiennent toujours des chaînes peut néanmoins parfois entraîner des problèmes de syntaxe SQL - dans les cas où la syntaxe exige obligatoirement des nombres. Dans ce cas, on peut utiliser une méthode alternative de liaison des paramètres, que nous aborderons dans les prochaines leçons.

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