PHP prakticky/Vkládání parametrů: Porovnání verzí

Smazaný obsah Přidaný obsah
Porthos (diskuse | příspěvky)
m Robot: Změna kategorie Kategorie:PHP
m Doplněno zvýraz.syntaxe
 
Řádek 4:
Nejlepší cestou vkládání parametrů jsou '''prepared statements'''. Podporují je různé knihovny databázové abstrakce, od verze PHP5 pak hlavně PDO.
 
<syntaxhighlight lang="php">
<pre>
// pro jednoduché parametry stačí poziční parametr a hodnota předaná přímo v execute()
$stmt = $db->prepare("SELECT * FROM tabulka WHERE id=?");
Řádek 18:
$s = $db->prepare('SELECT * FROM tabulka WHERE foo IN ('.implode(',', array_fill(0, count($values), '?')).')');
$s->execute($values);
</syntaxhighlight>
</pre>
 
Pokud nejsou '''prepared statements''' k dispozici, je třeba hodnoty správně ošetřit. Číselné hodnoty přetypovat, řetezcové hodnoty escapovat.
 
<syntaxhighlight lang="php">
<pre>
$query = sprintf("SELECT * FROM tabulka WHERE cislo=%d AND retezec=%s",
'012 OR 1',
Řádek 28:
);
echo $query; // vytiskne SELECT * FROM tabulka WHERE cislo=12 AND retezec='\' OR 1'
</syntaxhighlight>
</pre>
 
[[Kategorie:PHP prakticky|Vkládání parametrů]]