⊗ppSpPDNP 62 of 83 menu

Automatické uvozování zástupných symbolů v PDO v PHP

Technicky PDO všechny vkládané hodnoty obalí uvozovkami a považuje je za řetězce, i když se ve skutečnosti jedná o čísla. To je přípustné syntaxí SQL. Proto není nutné zástupné symboly obklopovat uvozovkami, pokud máte řetězcovou hodnotu.

Podívejme se na příklad. Předpokládejme, že v proměnné je uložen řetězec:

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

Poziční zástupný symbol v tomto případě není třeba obalovat do řetězce:

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

Pojmenovaný zástupný symbol také není třeba obalovat do řetězce:

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

Skutečnost, že v dotazu budou vždy řetězce, může někdy vést k problémům se syntaxí SQL - tam, kde syntaxe vyžaduje čísla. V tomto případě lze použít alternativní způsob vázání parametrů, který si probereme v následujících lekcích.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout