CodeIgniter nepodporuje připravené výpisy. Pokud se podíváte na zdrojový kód pro třídu Database CI, uvidíte, že řeší vazby jednoduše nahrazením otazníků daty z předávaného pole:
Podporují pouze vazbu dotazu s nepojmenovanými zástupnými symboly. Viz http://ellislab.com/codeigniter/user-guide/database/ dotazy.html
Vazby dotazů
Vazby vám umožňují zjednodušit syntaxi dotazu tím, že systém nechá dotazy sestavit za vás. Zvažte následující příklad:
$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?"; $this->db->query($sql, array(3, 'live', 'Rick'));
Otazníky v dotazu jsou automaticky nahrazeny hodnotami v poli ve druhém parametru dotazovací funkce.
a http://ellislab.com/forums/viewthread/105112/#528915
Přestože CI nepodporuje připravené příkazy, podporuje vazby dotazů. S připravenými příkazy musíte zavolat nějaký typ funkce Prepare() a poté nějaký typ funkce execute(). S vazbami dotazů stačí zavolat jednu funkci a ta v podstatě dělá to samé. Z tohoto důvodu mám raději vazby dotazů než připravené příkazy.
Na okraj, změna ?
na :foo
se pouze mění z nepojmenovaných na pojmenované vazby (které CI zřejmě také nepodporuje). To, že používáte buď, nebo, neznamená, že připravujete prohlášení.